简体   繁体   English

LINQ按单词在二维数组中搜索

[英]LINQ search in 2d array by word

Is it possible to search in array by word using linq ? 是否可以使用linq按单词搜索数组?

Example: 例:

My array looks like: 我的数组看起来像:

AA BB CC DD EE AA BB CC DD EE

BB CC DD EE FF BB CC DD EE FF

AA BB CC DD EE AA BB CC DD EE

I want to return lines where first column is "AA". 我想返回第一列为“ AA”的行。

I am using linq to sort my array by first column: 我正在使用linq按第一列对数组进行排序:

sorted = array.OrderBy(o => o[1]).ThenBy(t => t[1]).ToArray();

I try to create somethink like Find an item in List by LINQ? 我尝试创建某种东西,例如LINQ在List中查找项目?

string search = "AA";

sorted = array.Single(s => s == search);

But it will not work for me beacuse I am using a 2D array. 但这对我不起作用,因为我正在使用2D阵列。

I'd like to return an array like: 我想返回一个数组,如:

AA BB CC DD EE AA BB CC DD EE

AA BB CC DD EE AA BB CC DD EE

一个简单的where就可以了:

var result = array.Where(inner => inner.FirstOrDefault() == "AA");

Try something like that; 尝试类似的东西;

var newArray = array.Where(x => x.Length > 0 && x[0] == "AA").ToArray();

Also, you should consider the subarray length to prevent unexpected out of index error. 另外,您应该考虑子数组的长度,以防止意外的索引不足错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM