繁体   English   中英

将子类列表与父类列表组合在一起

[英]Combining child class lists to parent class list

我有一个父类X和两个子类列表X1和X2(X1和X2派生自X)。 有没有一种简单的方法将X1和X2列表组合成X列表?
我可以循环遍历X1和X2的列表,然后添加到X列表中,但这看起来有点麻烦。

LINQ可以方便地使用

var both = list1.Cast<X>().Concat(list2.Cast<X>()).ToList();

或者

var both = ((IEnumerable<X>)list1).Concat((IEnumerable<X>)list2).ToList();

但它仍在循环 - 只是在幕后。

使用Enumerable.Cast方法,如下所示:

var list1 = new List<X1>();
var list2 = new List<X2>();
var result = list1.Cast<X>().Concat(list2.Cast<X>()).ToList();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM