我有一个非常大的对象与许多可空类型的变量.我也有一个字典,我想填写这个对象的非空变量.
代码看起来像这样
if (myObject.whatever != null) { myDictionary.Add("...",myObject.whatever); } if (myObject.somethingElse != null) { myDictionary.Add("...",myObject.somethingElse); ...
编辑(抱歉搞砸了代码)
当我们重复这个第十二次,我们得到一堆很长的代码.有没有一些较短的方式我可以写这个烂摊子?我知道条件运算符(又名?),但这只是作业.有没有像这样添加到收藏夹?
解决方法
您的字典的扩展方法如何?
public static void AddIfNotNull<T,U>(this Dictionary<T,U> dic,T key,U value) where U : class { if (value != null) { dic.Add(key,value); } }
你可以这样做:
myDictionary.AddIfNotNull("...",myObject.whatever);