Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Ключевое слово unchecked
Ключевое слово unchecked
В предположении, что вы активизировали проверку переполнения для всего проекта, как разрешить игнорирование переполнений для тех блоков программного кода, где "молчаливая реакция" на переполнение вполне приемлема? Поскольку флаг /checked предполагает проверку всей арифметической логики, в языке C# предлагается ключевое слово unchecked, которое позволяет отключить генерирование System.OverflowException для конкретных случаев, Правила использования этого ключевого слова аналогичны правилам использования ключевого слова checked, и вы можете указать для него один оператор или блок операторов, например:
// Даже если флаг /checked активизирован,
// этот блок не генерирует исключения в среде выполнения.
unchecked {
byte sum = (byte)(b1 + b2);
Console.WriteLine(sum = {0}", sum);
}
Подводя итога обсуждения ключевых слов C# checked и unchecked, снова подчеркнем, что по умолчанию среда выполнения .NET игнорирует условии переполнения, возникающие при использовании арифметических операций. Если вы хотите селективно контролировать условия переполнения для отдельных операторов, используйте ключевое слово checked. Если нужно контролировать ошибки переполнения во всем приложении, укажите флаг /checked, Наконец, можно использовать ключевое слово unchecked, если у вас есть блок программного кода, для которого переполнение приемлемо (и поэтому оно не должно генерировать исключение в среде выполнения).
Исходный код. Проект CheckedUnchecked размещен в подкаталоге, соответствующем главе 9.
- Ключевое слово sizeof
- Часть I Слово
- Как избежать разрыва словосочетаний в Word?
- 13.2.4. Числовое и денежное низкоуровневое форматирование: localeconv()
- 13.2.5. Высокоуровневое числовое и денежное форматирование: strfmon() и printf()
- Заключительное слово: «4Р» в сравнении с «4С»
- Слово Джону Уэллсу
- 8. Целина, словотворчество и начало научной работы на кафедре
- Про Apple, мотоциклы и издержки словоохотливости: общение
- Вступительное слово
- Вступительное слово Джона Оллспоу
- Вступительное слово Николь Форсгрен