我有两个IEnumerable变量,两者都可以为null.我需要将它们合并到一个列表中.这是直接的方法.
var ienumerable1 = GetEnumerable1();
var ienumerable2 = GetEnumerable2();
if(ienumerable1 != null){
if(ienumerable2 != null){
return ienumerable1.Union(ienumerable2);
}
return ienumerable1;
}
else{
return ienumerable2;
}
Run Code Online (Sandbox Code Playgroud)
在更少的代码行中是否有更优雅的方式来做到这一点?
Sco*_*ain 16
只检查null并指定Enumerable.Empty它是否为null.这可以使用null合并运算符一步完成 ??
var ienumerable1 = GetEnumerable1() ?? Enumerable.Empty<WhateverType>();
var ienumerable2 = GetEnumerable2() ?? Enumerable.Empty<WhateverType>();
return ienumerable1.Union(ienumerable2);
Run Code Online (Sandbox Code Playgroud)