Class TypeA{ List<TypeB> MylistofTypeB; //...}Class TypeB{ List<TypeC> MylistofTypeC; //...}Class TypeC{ int SomeInteger; //...}
给定列表< TypeA> MylistofTypeA,我想寻找满足特定条件的所有TypeC对象,例如,SomeInteger> 100.除了为/ foreach循环嵌套之外,linq的方法是什么?
解决方法var MylistofTypeA = new List<TypeA>();// ...var cItems = from a in MylistofTypeA from b in a.MylistofTypeB from c in a.MylistofTypeC where c.someInteger > 100 select c;
以上相当于调用SelectMany liNQ函数,但在我看来它更清晰,更容易阅读.
使用liNQ函数(正如Dmitry已经建议的那样,但有一些修改):
var cItems = MylistofTypeA.SelectMany( a => a.MylistofTypeB ) .SelectMany( b => b.MylistofTypeC ) .Where( c => c.someValue > 200 );总结
以上是内存溢出为你收集整理的c# – Linq:有没有办法搜索符合条件的值的对象列表列表?全部内容,希望文章能够帮你解决c# – Linq:有没有办法搜索符合条件的值的对象列表列表?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)