如果没有找到对,如何返回ValueKeyPair或其他东西?

时间:2014-04-13 13:33:43

标签: c# visual-studio-2012 dictionary key-value

我有一个字典<>从车辆(钥匙)和所有者(价值)建造。 我有一种方法可以通过给定的Vehicle的许可证号码搜索ValueKeyPair,如果找到它, 它返回找到的许可证的valueKeyPair。

但是如果在搜索过程中该方法找不到匹配的密钥,那么它应该返回什么? 似乎ValueKeyPair不能初始化为NULL,所以我不能返回null。

你可以告诉我该怎么办? 谢谢。

2 个答案:

答案 0 :(得分:3)

假设KeyValue都是String类型,您可以像这样返回 KeyValuePair<string, string> 的默认值:

return default(KeyValuePair<string, string>);

和您要检查的代码,您可以检查密钥的空值。

修改您的方法以返回 nullable KeyValuePair ,这样您就可以返回null。 将返回类型从KeyValuePair<string, string>替换为KeyValuePair<string, string>?

private KeyValuePair<string, string>? MethodName()
{   
    return null;
}

答案 1 :(得分:0)

为什么不在if语句中使用TryGetValue?

http://msdn.microsoft.com/en-us/library/bb347013(v=vs.110).aspx