Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 搜索列表的一部分<&燃气轮机;基于模式匹配的索引_C#_Linq - Fatal编程技术网

C# 搜索列表的一部分<&燃气轮机;基于模式匹配的索引

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

我正在尝试定义对此问题的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.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