Is there any difference between type? and Nullable<type>?在C#中,可为空的原始类型(即 如果使用Ildasm查看IL,则会发现它们都编译为 要访问布尔值?您需要执行以下操作:
请注意,您不能只是这样做:
令我惊讶的是,到目前为止还没有人找到源代码(C#规范)。从?§4.1.10开始可空类型:
因此,不,两种形式之间没有任何区别。 (假定您在使用的任何命名空间中都没有其他称为 A 编辑:啊,我错过了一个事实,即" bool"之后的问号实际上是类型名称的一部分,而不是您在问问题的指示符:)。那么,对您的问题的答案是"是的,C# A 更改对值的访问方法。 但要问的是: 不,没有区别。总结: System.Boolean->有效值:true,false bool-> System.Boolean 的别名 可空<布尔>->有效值:true,false,null 布尔? -> Nullable 的别名 希望这会有所帮助。 Null基元只是包装在Nullable中的常规基元。任何与之相反的外观只是编译器和语法糖。 没有区别。在这里看看:http://msdn.microsoft.com/en-us/library/1t3y8s4s.aspx "语法T?是Nullable的简写,其中T是值类型。这两种形式是可以互换的。" |