Home » c# » What's the difference between 'int?' and 'int' in C#?

What's the difference between 'int?' and 'int' in C#?

Posted by: admin November 29, 2017 Leave a comment

Questions:

I am 90% sure I saw this answer on stackoverflow before, in fact I had never seen the “int?” syntax before seeing it here, but no matter how I search I can’t find the previous post, and it’s driving me crazy.

It’s possible that I’ve been eating the funny mushrooms by accident, but if I’m not, can someone please point out the previous post if they can find it or re-explain it? My stackoverflow search-fu is apparently too low….

Answers:

int? is shorthand for Nullable<int>.

This may be the post you were looking for.

Questions:
Answers:

int? is Nullable.

MSDN: Using Nullable Types (C# Programming Guide)

Questions:
Answers:

int? is the same thing as Nullable. It allows you to have “null” values in your int.

Questions:
Answers:

int belongs to System.ValueType and cannot have null as a value. When dealing with databases or other types where the elements can have a null value, it might be useful to check if the element is null. That is when int? comes into play. int? is a nullable type which can have values ranging from -2147483648 to 2147483648 and null.

Reference: https://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx