要检查一个值类型是否可以为空,我目前正在做这样的事情:
int? i = null;
bool isNullable = i.GetType().ToString().Contains("System.Nullable");
有没有更优雅的方法来做到这一点?
最佳答案
您可以使用 Nullable.GetUnderlyingType(Type)
- 这将返回 null
如果它不是可空类型开头,或者不是基础值类型:
if (Nullable.GetUnderlyingType(t) != null)
{
// Yup, t is a nullable value type
}
请注意,这使用了 Nullable
静态类,而不是 Nullable<T>
结构。
关于c# - 寻找一种更优雅的方法来检查可空值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3206091/