有没有一种方法可以在If条件语句中将TryGetValue写在一行上。一般调用TryGetValue的方式是:
我需要的是类似于这样的内容。
string value;
Dictionary.TryGetValue("Key", out value);
If(value == "condition") { ... }
我需要的是类似于这样的内容。
If(Dictionary.TryGetValue("Key", out string) == "Condition") { ... }
我知道这条代码行不起作用,但它展示了期望的结果。
有没有任何方法可以实现这个效果?
IDictionary
上使用扩展方法,在参数为null
时返回false
(而不是直接抛出NRE)是一个可疑的想法;这可能会隐藏错误并使分析变得复杂(“我知道它不是null
,因为它在这一行工作了!”)。有一些扩展方法允许使用null
(主要是转换),但这可能不是其中之一。 - Jeroen Mostert