C#什么是'?'操作者

时间:2013-02-02 18:31:52

标签: c# .net

  

可能重复:
  What does the bool? return type mean?

我在一个类

中遇到了以下属性
public long? EmployeeId { get; set; }

根据MSDN MSDN OPERATOR,我没有运气搜索此运算符,只有运算符?? null-coalescing运算符和?:条件运算符。 但是?

怎么样?

5 个答案:

答案 0 :(得分:12)

在这种情况下,?不是运营商。这是一种较短的写作方式:Nullable<long>

T?Nullable<T>完全相同(T类型)

它被称为可空类型(请参阅MSDN

它用于允许“非可空”类型(如intlongstruct)分配null值。

当您需要值类型的可能无效状态,或者从可能包含空值的数据库中检索数据时,它非常有用。

答案 1 :(得分:6)

这不是运营商。这是Nullable type的简写。

答案 2 :(得分:2)

这是一个可以为空的类型。看这里:

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

答案 3 :(得分:1)

  

语法T?是System.Nullable的简写,其中T是一个值   类型。这两种形式是可以互换的。

来源: Look here

答案 4 :(得分:0)

它使类型为nullable,这是为结构赋值null所必需的。