Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CSharpNotesForProfessionals.pdf
Скачиваний:
57
Добавлен:
20.05.2023
Размер:
6.12 Mб
Скачать

Chapter 108: Checked and Unchecked

Section 108.1: Checked and Unchecked

C# statements executes in either checked or unchecked context. In a checked context, arithmetic overflow raises an exception. In an unchecked context, arithmetic overflow is ignored and the result is truncated.

short

m

=

32767;

 

 

short

n

=

32767;

 

 

int

result1

=

checked((short)(m +

n));

//will throw an OverflowException

int

result2

=

unchecked((short)(m

+ n));

// will return -2

 

 

 

 

 

 

 

 

 

If neither of these are specified then the default context will rely on other factors, such as compiler options.

Section 108.2: Checked and Unchecked as a scope

The keywords can also create scopes in order to (un)check multiple operations.

short m = 32767; short n = 32767; checked

{

int result1 = (short)(m + n); //will throw an OverflowException

}

unchecked

{

int result2 = (short)(m + n); // will return -2

}

GoalKicker.com – C# Notes for Professionals

560