KeyValuePair什么都没有

ser*_*hio 3 .net

我们如何验证(.NET 2)是否KeyValuePair已分配值?

Dim pair as KeyValuePair(Of A, B) = Nothing

if pair.??? Then Return
Run Code Online (Sandbox Code Playgroud)

它是一种结构,无法验证pair Is Nothing.

结构,例如.有p.IsEmpty验证.

Jon*_*eet 12

而不是在这里使用"普通"类型 - 这意味着您无法检测值与默认值AB作为键和值之间的差异,您应该使用a Nullable(Of KeyValuePair(Of A, B)).

实际上,你问的问题与询问一个变量是否有一个值完全相同Integer,设置它Nothing会给它一个值0.如何判断0和"真实"0之间的区别?你不能 - 这就是为什么Nullable(Of T)首先存在的原因.完全相同的逻辑适用于KeyValuePair.


gok*_*ter 6

您可以将其与空的KeyValuePair进行比较,而不是可以为空的类型:

If pair.Equals(New KeyValuePair(Of A, B)) Then Return
Run Code Online (Sandbox Code Playgroud)

请参阅C#答案:https://stackoverflow.com/a/1641405/151325