我有一个非常大的对象与许多可空类型的变量.我也有一个字典,我想填写这个对象的非空变量.
代码看起来像这样
- 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);