【问题标题】:LINQ search in 2d array by wordLINQ 按字在二维数组中搜索
【发布时间】:2017-12-15 18:58:34
【问题描述】:

是否可以使用 linq 逐字在数组中搜索?

例子:

我的数组看起来像:

AA BB CC DD EE

BB CC DD EE FF

AA BB CC DD EE

我想返回第一列为“AA”的行。

我正在使用 linq 按第一列对数组进行排序:

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

我尝试创造一些像 Find an item in List by LINQ?

string search = "AA";

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

但这对我不起作用,因为我使用的是二维数组。

我想返回一个数组,如:

AA BB CC DD EE

AA BB CC DD EE

【问题讨论】:

  • 数组看起来如何(我的意思是在代码中)?
  • string[][] array= new string[3][5] { { AA,BB,CC,DD,EE}, {BB ,CC, DD, EE, FF, }, { AA,BB,CC,DD,EE},};

标签: c# arrays linq


【解决方案1】:

一个简单的where 就可以解决问题:

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

【讨论】:

  • + .ToArray() 最后。谢谢
【解决方案2】:

尝试类似的方法;

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

另外,你应该考虑子数组的长度,以防止意外的索引错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多