【问题标题】:How do I get all items in a list that are inside of another list?如何获取列表中另一个列表中的所有项目?
【发布时间】:2012-09-13 20:01:17
【问题描述】:

我知道标题不太好,但我认为代码会更好。

假设我有以下课程:

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

现在假设我有一个list&lt;Test&gt; listOfTest,它的列表中有 100 个项目,并且列表中的每个 Test 对象在其 List&lt;Object&gt; ObjectList 列表中都有 100 个项目。

我可以使用 LINQ、Lambda 表达式或任何东西快速从每个测试对象中获取所有对象吗?

目前我必须做以下事情:

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

我知道我可以做 listOfTest.foreach() 但归根结底还是需要 foreach。

我个人不喜欢这样,并且认为这几乎是一种 hack,必须有更好的方法来做到这一点。所以问题基本上是,有没有更好的方法来做到这一点?

【问题讨论】:

  • 这是一个单层深度列表,根本不是我想要做的。

标签: visual-studio-2010 linq list c#-4.0 lambda


【解决方案1】:

怎么样:

var items = listOfTest.SelectMany(lt => lt.myInnerObject).ToList();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多