Csharp/C#教程:带有大量嵌套列表的列表上的LINQ分享


带有大量嵌套列表的列表上的LINQ

我遇到嵌套列表的问题。 所以我有3个课:

public class Class1 { public string Name {get;set;} public List Class2List {get;set;} } public class Class2 { public string Name {get;set;} public List Class3List {get;set;} } public class Class3 { public string Name {get;set;} } 

我想从Class1中选择所有Class3.Name,其中Class2.Name =“something”,重要的是结果将是IEnumerable字符串 。 我该如何解决?

LINQ表达式可以有多个嵌套的from子句:

 // nested from clauses var names = from c1 in myClass1List from c2 in c1.Class2List where c2.Name == "something" from c3 in c2.Class3List select c3.Name; 

为了完整性,以下是使用方法语法的两个变体:

上述就是C#学习教程:带有大量嵌套列表的列表上的LINQ分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var names = myClass1List .SelectMany(c1 => c1.Class2List.Where(c2 => c2.Name == "something")) .SelectMany(c2 => c2.Class3List.Select(c3 => c3.Name)); var names = myClass1List .SelectMany(c1 => c1.Class2List .Where(c2 => c2.Name == "something") .SelectMany(c2 => c2.Class3List .Select(c3 => c3.Name))); 

  List listNames = Class1.Where(f => f.Class2List.Where(g => string.Compare(g.Name, "something") == 0)).Select(h => h.Name).ToList() 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1018324.html

(0)
上一篇 2022年1月3日
下一篇 2022年1月3日

精彩推荐