我有一个字典<>从车辆(钥匙)和所有者(价值)建造。 我有一种方法可以通过给定的Vehicle的许可证号码搜索ValueKeyPair,如果找到它, 它返回找到的许可证的valueKeyPair。
但是如果在搜索过程中该方法找不到匹配的密钥,那么它应该返回什么? 似乎ValueKeyPair不能初始化为NULL,所以我不能返回null。
你可以告诉我该怎么办? 谢谢。答案 0 :(得分:3)
假设Key
和Value
都是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