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开发框架网发布内容,转载请附上原文出处连接
张国生
上一篇:C#判断类型是否可空
下一篇:ssl-helper使用教程
评论列表

发表评论

评论内容
昵称:

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码