Возможно, я нахожусь в основах, но я все еще изучаю эту вещь С# в школе. Я понимаю, что если я добавлю 1 к максимальному значению Integer, который 32 бит, результат будет отрицательным. Я прочитал, что С# предлагает проверенные и непроверенные ключевые слова для обработки переполнения. Проверенное ключевое слово - это что-то, я нашел полезным, но как насчет неконтролируемого ключевого слова? Я действительно не могу найти не очень полезное использование для блока unchecked -keyworded. Есть ли? Как разные два подхода отличаются друг от друга?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Practice_6
{
class Program
{
static void Main(string[] args)
{
int value = Int32.MaxValue;
value++;
//Approach 1 to make a decision
if (value > Int32.MaxValue) {
//Do something
}
value = Int32.MaxValue;
//Approach 2 to make a decision
unchecked {
value++;
//Do something
}
//What the difference between these two approaches to handle overflow?
}
}