这些测试是否等于Nullable Type?

问题描述 投票:7回答:5

这是我用来检测是否正在处理Nullable类型的条件:

System.Nullable.GetUnderlyingType(itemType) != null

这里是我队友的代码:

itemType.IsGenericType && itemType.GetGenericTypeDefinition() == typeof(Nullable<>)

我们实际上没有找到一种情况,其中一个将返回true,另一个将返回false(反之亦然),但是这两个片段严格相等吗?

c# nullable
5个回答

1
投票
这2个片段未完全等同。这是为每个片段返回不同值的测试用例:

1
投票

0
投票
我对此没有问题!

问候,


0
投票
我看到的唯一区别是itemType是否本身是通用的,即。 typeof (List<>),他的失败。而且您的速度稍慢,因为它必须实际找到基础类型。
© www.soinside.com 2019 - 2024. All rights reserved.