我有一个方法,但对它不太满意,你能否请指教如何更好地实现。
public Foo WithBar(IDictionary<string, object> parameters) {
var strStrDict = new Dictionary<string, string>(parameters.Count);
foreach(var pair in parameters)
{
strStrDict.Add(pair.Key, pair.Value != null ? pair.Value.ToString() : (string)null);
}
// Call overload which takes IDictionary<string, string>
return this.WithBar(strStrDict);
}
这段代码可以工作,但我相信有一种更好的Linq方式可以完成这个任务,而我可能还没有想到。
pair.Value == null ? pair.Value.ToString() : (string)null
会很好地爆炸。 - Anthony Pegram