C# 搜索列表的一部分<&燃气轮机;基于模式匹配的索引
我正在尝试定义对此问题的LINQ响应,我有一个C# 搜索列表的一部分<&燃气轮机;基于模式匹配的索引,c#,linq,C#,Linq,我正在尝试定义对此问题的LINQ响应,我有一个列表,我需要比较内部列表的第一行,并根据匹配返回该列表: List<List<string>> mainList = new List<List<string>>(); List<string>lines = new List<string>(); lines.Add("one"); lines.Add("two"); lines.Add("three"); mainList.A
列表
,我需要比较内部列表的第一行,并根据匹配返回该列表:
List<List<string>> mainList = new List<List<string>>();
List<string>lines = new List<string>();
lines.Add("one");
lines.Add("two");
lines.Add("three");
mainList.Add(lines);
lines=new List<string>();
lines.Add("bus");
lines.Add("clock");
lines.Add("chicken");
mainList.Add(lines);
List mainList=新列表();
Listlines=新列表();
行。添加(“一”);
行。添加(“两行”);
行。添加(“三”);
mainList.Add(行);
行=新列表();
行。添加(“总线”);
行。添加(“时钟”);
行。添加(“鸡肉”);
mainList.Add(行);
如何使用LINQ返回包含
“bus”
的整个列表?如果要比较子列表中的任何元素,请执行以下操作:
List<string> subList = mainList.FirstOrDefault(r => r.Contains("bus"));
List<string> subList = mainList.FirstOrDefault(r => r.FirstOrDefault() == "bus");
List subList=mainList.FirstOrDefault(r=>r.Contains(“总线”);
如果只想比较子列表中的第一个元素,请执行以下操作:
List<string> subList = mainList.FirstOrDefault(r => r.Contains("bus"));
List<string> subList = mainList.FirstOrDefault(r => r.FirstOrDefault() == "bus");
List subList=mainList.FirstOrDefault(r=>r.FirstOrDefault()=“bus”);
您可以试试这个:
var result = mainList.FirstOrDefault(x=>x.Contains("bus"));
上述查询将搜索mainList
中包含的所有列表,并将返回包含字符串“bus”的第一个列表。如果没有这样的列表,那么您将得到一个null