以优雅的方式合并两个IEnumerables

我有两个IEnumerable变量,都可以为null。 我需要将它们合并到一个列表中。 这是直接的方法。

var ienumerable1 = GetEnumerable1(); var ienumerable2 = GetEnumerable2(); if(ienumerable1 != null){ if(ienumerable2 != null){ return ienumerable1.Union(ienumerable2); } return ienumerable1; } else{ return ienumerable2; } 

在更少的代码行中有更优雅的方法吗?

只检查null并指定Enumerable.Empty如果它为null。 这可以使用空合并运算符一步完成??

 var ienumerable1 = GetEnumerable1() ?? Enumerable.Empty(); var ienumerable2 = GetEnumerable2() ?? Enumerable.Empty(); return ienumerable1.Union(ienumerable2); 
  var ienumerable1 = GetEnumerable1(); var ienumerable2 = GetEnumerable2(); return ienumerable1 != null ? (ienumerable2 != null ? ienumerable1.Union(ienumerable2) : ienumerable1) : ienumerable2;