5

親クラス X と、子クラス X1 および X2 (X1 および X2 は X から派生) の 2 つのリストがあります。X1 と X2 のリストを X のリストに結合する簡単な方法はありますか?
X1 と X2 のリストをループして X のリストに追加することもできますが、これは少し面倒です。

4

2 に答える 2

6

LINQはこれを便利に行うことができます

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

または

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

それにもかかわらず、それはループしています - カバーの下で。

于 2012-11-16T11:25:38.043 に答える
2

次のように、 Enumerable.Castメソッドを使用します。

var list1 = new List<X1>();
var list2 = new List<X2>();
var result = list1.Cast<X>().Concat(list2.Cast<X>()).ToList();
于 2012-11-16T11:26:29.050 に答える