C# net中的可空类型
为什么C# net中的可空类型,c#,.net,.net-3.5,C#,.net,.net 3.5,为什么 properties[5].PropertyType.GetGenericTypeDefinition() == Type.GetType("System.Nullable`1") 等于true,而 properties[5].PropertyType.GetGenericTypeDefinition() == Type.GetType("System.Nullable") 等于假 Properties[5]是一个可为空的公共字段 System.Nullable`后面的
properties[5].PropertyType.GetGenericTypeDefinition() ==
Type.GetType("System.Nullable`1")
等于true,而
properties[5].PropertyType.GetGenericTypeDefinition() ==
Type.GetType("System.Nullable")
等于假
Properties[5]
是一个可为空的公共
字段
System.Nullable`后面的`1
是什么意思?1表示该类型是泛型类型。既然可以有一个名为“Foo”的类型和一个名为“Foo”的类型,那么需要有一些内部方法来区分这两种类型
由于存在一个非泛型的System.Nullable
类型,但您使用的是泛型类型,因此与GetType(“System.Nullable”)的比较将始终返回false。Nullable`1是您知道的类的真实名称,在C#(或在VB.Net中为null(of T))
Nullable是一个静态类,包含许多用于使用Nullable的帮助器方法