我知道标题不是很好,但我认为代码会更好。
说我有以下课程:
public class Test
{
public List<Object> ObjectList = new List<Object>;
}
现在假设我的list<Test> listOfTest
列表中有100个项目,列表中的每个Test对象的List<Object> ObjectList
列表中都有100个项目。
我可以使用LINQ,Lambda表达式或其他任何东西快速获取每个Test对象的所有Objects吗?
目前我必须做以下事情:
var items = new List<Object>();
foreach(var testobj in listOfTest)
{
items.AddRange(testObj.ObjectList);
}
我知道我可以做listOfTest.foreach(),但它真的归结为仍然需要foreach。
我个人不喜欢这样,并认为它几乎是一个黑客,必须有一个更好的方法来做到这一点。所以问题基本上是,还有更好的方法吗?
答案 0 :(得分:1)
怎么样:
var items = listOfTest.SelectMany(lt => lt.myInnerObject).ToList();