[英]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.