C# · 12月 29, 2021

c# – 如果不为空,则添加到集合

@H_404_0@我有一个非常大的对象与许多可空类型的变量.我也有一个字典,我想填写这个对象的非空变量.

代码看起来像这样

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);