2008-09-23 3 views
60

Я на 90% уверен, что видел этот ответ на stackoverflow раньше, на самом деле я никогда не видел «int?». синтаксис, прежде чем увидеть его здесь, но независимо от того, как я ищу, я не могу найти предыдущую запись, и это сводит меня с ума.В чем разница между 'int?' и 'int' в C#?

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

ответ

97

int? сокращенно Nullable<int>.

This может быть должностью, которую вы искали.

21

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

6

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

Код: https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx