Ответ 1
Int? является сокращением для Nullable<int>
.
Этот может быть тем местом, которое вы искали.
Я на 90% уверен, что видел этот ответ на stackoverflow раньше, на самом деле я никогда не видел "int"? синтаксис, прежде чем увидеть его здесь, но независимо от того, как я ищу, я не могу найти предыдущую запись, и это сводит меня с ума.
Возможно, я случайно поел смешные грибы, но если нет, может кто-нибудь, пожалуйста, указать предыдущий пост, если они смогут его найти или объяснить? Мой stackoverflow search-fu, по-видимому, слишком низок....
Int? является сокращением для Nullable<int>
.
Этот может быть тем местом, которое вы искали.
Int? Nullable.
MSDN: использование обнуляемых типов (Руководство по программированию в С#)
Int? это то же самое, что и Nullable. Это позволяет вам иметь "нулевые" значения в вашем int.
int принадлежит System.ValueType и не может иметь значение null в качестве значения. При работе с базами данных или другими типами, где элементы могут иметь нулевое значение, может оказаться полезным проверить, является ли элемент нулевым. То есть, когда int? вступает в игру. Int? - тип с нулевым значением, который может иметь значения от -2147483648 до 2147483648 и null.
Ссылка: https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx
символ? после int означает, что он может быть обнуляемым.
? Символ обычно используется в ситуациях, когда переменная может принимать ноль или целое число или, альтернативно, возвращать целое число или нуль.
Надеюсь, что контекст использования помогает. Таким образом, вы не ограничены только тем, что имеете дело с целыми числами.
вы можете использовать его, когда ожидаете нулевое значение в вашем целом числе, особенно когда вы используете CASTING ex:
x= (int)y;
если у = ноль, то у вас будет ошибка. Вы должны использовать:
x = (int?)y;
Int не может принять ноль, но если разработчик использует int? тогда вы сохраняете null в int как int я = null; //не принимаем int? я = ноль; // его работа в основном используется для нумерации страниц в MVC Pagelist