C#中通用接口的简写语法

时间:2014-02-25 00:06:08

标签: c# .net

T?Nullable<T>的简写例如:int?Nullable<int>的简写 简写语法是语言规范的一部分吗?

我们是否可以为通用接口创建自己的速记语法?

2 个答案:

答案 0 :(得分:6)

是的,?是规范的一部分。你无法创建自己的快捷方式。

  

4.1.10可空类型

     

可空类型可以表示其基础类型的所有值加上   额外的null值。可空类型写为T?,其中T为。{1}}   基础类型。此语法是System.Nullable<T>的简写,   这两种形式可以互换使用。

答案 1 :(得分:1)

Nullable在C# specification内定义(接近1.3节末尾)。你自己无法做到这一点。

  

可以使用Nullable类型之前也不必声明它们。对于每个非可空值类型T,存在相应的   可空类型T?,它可以保存一个额外的值null。对于   实例,int?是一种可以保存任何32位整数或值的类型   空。