0

タイトルが良くないことは承知していますが、コードはもっとよくわかると思います。

次のクラスがあるとします。

public class Test
{
    public List<Object> ObjectList = new List<Object>;
}

ここlist<Test> listOfTestで、リストに 100 個の項目がある があり、リスト内の各 Test オブジェクトのリストに 100 個の項目があるとしList<Object> ObjectListます。

LINQ、Lambda 式などを使用して、すべての Test オブジェクトからすべてのオブジェクトをすばやく取得できますか?

現在、私は次のことをしなければなりません:

var items = new List<Object>();
foreach(var testobj in listOfTest)
{
    items.AddRange(testObj.ObjectList);
}

私は listOfTest.foreach() を実行できることを知っていますが、実際にはまだ foreach が必要です。

私は個人的にこれが好きではなく、それはほとんどハックであり、これを行うためのより良い方法があるに違いないと思います. 質問は基本的に、これを行うためのより良い方法はありますか?

4

1 に答える 1

1

どうですか:

var items = listOfTest.SelectMany(lt => lt.myInnerObject).ToList();
于 2012-09-13T20:08:50.690 に答える