Какая разница между "Int?" и 'int' в C #? - PullRequest
72 голосов
/ 23 сентября 2008

Я на 90% уверен, что видел этот ответ на stackoverflow раньше, фактически я никогда не видел "int?" Синтаксис, прежде чем увидеть его здесь, но независимо от того, как я ищу, я не могу найти предыдущий пост, и это сводит меня с ума.

Вполне возможно, что я ел смешные грибы случайно, но если нет, то кто-нибудь может указать на предыдущую статью, если они смогут найти ее или объяснить заново? Похоже, мой поиск в стеке переполнен слишком низко ....

Ответы [ 7 ]

106 голосов
/ 23 сентября 2008

INT? является сокращением для Nullable<int>.

Это может быть сообщение, которое вы искали.

29 голосов
/ 23 сентября 2008
22 голосов
/ 23 сентября 2008

INT? это то же самое, что и Nullable. Это позволяет вам иметь "нулевые" значения в вашем int.

6 голосов
/ 04 октября 2016

int принадлежит System.ValueType и не может иметь значение null. При работе с базами данных или другими типами, где элементы могут иметь нулевое значение, может быть полезно проверить, является ли элемент нулевым. Это когда int? вступает в игру. Int? может иметь тип NULL, который может иметь значения в диапазоне от -2147483648 до 2147483648 и NULL.

Ссылка: https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx

0 голосов
/ 10 апреля 2019

Int не может принять ноль, но если разработчик использует int? тогда вы храните ноль в Int лайк int i = null; // не принимать Int? я = ноль; // работает в основном используется для нумерации страниц в MVC Pagelist

0 голосов
/ 18 января 2019

вы можете использовать его, когда ожидаете нулевое значение в вашем целом числе, особенно когда вы используете CASTING например:

x= (int)y;

если y = null, у вас будет ошибка. Вы должны использовать:

x = (int?)y;
0 голосов
/ 10 мая 2018

символ? после int означает, что он может быть обнуляемым.

? Символ обычно используется в ситуациях, когда переменная может принимать ноль или целое число или, альтернативно, возвращать целое или нуль

Надеюсь, что контекст использования помогает. Таким образом, вы не ограничены только работой с целыми числами.

...