c# - 带有问号的奇怪 C# 语法

标签 c#

private enum E_Week
{
   Mon = 0,
   Tue,
   . . .
}

下面的代码是什么意思?

E_Week? week= null;

是否等于下面的代码? “?”的功能是什么?在这里签名?

E_Week week= null;

最佳答案

您的代码正在使用所谓的 nullable type .枚举与 int 或 DateTime 非常相似,是所谓的“值类型”,它需要始终具有一些值。可空类型允许您将值类型视为允许空值。

例如,此代码无效且无法编译,因为枚举不能为空:

E_Week week = null;

但是这段代码是有效的:

E_Week? week = null;

它和这个完全一样:

Nullable<E_Week> week = null;

关于c# - 带有问号的奇怪 C# 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2069863/

相关文章:

c# - 尝试从单元测试项目中读取配置文件时发生System.NullReferenceException

c# - 将所有 datagridview 值插入 mysql 数据库

c# - Silverlight:如何动态创建页面

c# - 路易斯在两个意图之间做出选择

c# - gridview ItemTemplate 中的 if 语句

C# 正则表达式提取两个字符之间的字符串,但第一个字符多次出现

c# - 如何在 Blazor 中将数据从子组件发送到父组件(单击列表时)

c# - 事件记录/NHibernate : Update error on Query

c# - 满足特定条件的 Array.BinarySearch

c# - 如何使用 RtdServer 在 C# 中创建实时 Excel 自动化插件?