C#判断类型是否可空
在C#中,可以使用Nullable结构来表示可空类型。如果一个类型是可空的,则这个类型的变量可以存储null值。以下是判断一个类型是否可空的两种常用方法:
1. 使用Type.IsGenericType属性和Nullable<>类型进行比较:
C# 全选
Type type = typeof(int?);
bool isNullable = type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>);
Console.WriteLine(isNullable); // 输出true
以上代码首先获取了int?的类型信息,然后使用IsGenericType属性判断类型是否为泛型类型,并使用GetGenericTypeDefinition方法获取泛型类型的定义。最后将Nullable<>类型进行比较,如果相等则表示该类型是可空类型。
2. 使用Nullable.GetUnderlyingType方法:
C# 全选
Type type = typeof(double?);
bool isNullable = Nullable.GetUnderlyingType(type) != null;
Console.WriteLine(isNullable); // 输出true
以上代码使用Nullable.GetUnderlyingType方法获取可空类型的基础类型,如果返回结果不为null,则表示该类型是可空类型。
无论哪种方法,如果返回结果为true,则表示该类型是可空类型。
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post 张国生