以下声明解释了什么

时间:2011-09-08 11:36:25

标签: c# .net-4.0 properties nullable

public virtual int? NoRw { get; set; }

这里的数据类型是什么?使用属性NoRw指定为什么我们需要像这样使用

3 个答案:

答案 0 :(得分:4)

可以为空的整数:

http://msdn.microsoft.com/en-us/library/1t3y8s4s(v=vs.80).aspx

  

可空类型可以表示其基础值类型的正常值范围,以及一个额外的空值。

答案 1 :(得分:4)

int?Nullabe<int>的缩写。

Nullable<T>是值类型,泛型类型参数也必须是值类型。

可空类型可以包含值,或者根本不包含值。

int? i; // same as Nullable<int> i;
Console.WriteLine("i.HasValue={0}", i.HasValue); // Writes i.HasValue=False
i = 10;
Console.WriteLine("i.HasValue={0}", i.HasValue); // Writes i.HasValue=True

你可以用??具有Nullable类型的运算符(即null-coalescing operator)。

int? i; // i has no value
// Now we want to add 10 to i, and put it in a, however
// a = i + 10 cannot work, because there is no value in i
// so what value should be used instead?
// We could do the following
int a = 10;
if(i.HasValue)
   a += (int)i;

// or we could use the ?? operator, 
int a = (i ?? 0) + 10; // ?? returns value of i, or 0 if I has no value

??运算符允许我们使用可空类型,如果没有值,则直接提供有意义的替代。

答案 2 :(得分:2)

public virtual int? NoRw { get; set; }

NoRw是虚拟Nullable整数属性

其他例子

Nullable<int> variable= null;
or
int? variable= null;

查看此帖子了解更多详情:Nullable type -- Why we need Nullable types in programming language ?