C# 什么是“?”运算符

本文关键字:运算符 什么 | 更新日期: 2023-09-27 17:57:03

可能的重复项:
布尔值是什么?返回类型是什么意思?

我在一个类中遇到了以下属性

public long? EmployeeId { get; set; }

我用谷歌搜索了这个运算符,但没有运气,根据 MSDN MSDN 运算符,只有运算符?? null 合并运算符和?:条件运算符。但是?

C# 什么是“?”运算符

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

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

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

它用于允许"不可空"类型(如intlongstruct)被赋予null值。

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

这不是运算符。这是可为空类型的简写。

它是一个

可为空的类型。看这里:

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

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

源:看这里

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