Int? или bool?

Рейтинг: 2Ответов: 2Опубликовано: 14.10.2014

Здравствуйте!

Я встречал в определении функции или свойства следующее: int? или bool?.

Что это значит?

Спасибо.

Ответы

▲ 5

это краткая форма записи для Nullable<int> и Nullable<bool> соответственно. типы int (System.Int32 точнее) и bool (System.Boolean) относятся к типам-значениям, а следовательно не могут содержать значение null. Однако иногда это бывает полезно (например при работе с базами данных, где любое значение может содержать null (если обратное не указать явно). Так вот для этого в .NET 2.0 был введен тип Nullable<T> (тоже кстати тип-значение), представляющий собой обертку над типами-значениями для предоставления возможности хранить null этими типами. А для более краткой записи был придуман синтаксический сахар в виде замены Nullable на знак вопроса.

▲ 1

Это типы, которые допускают null.