代码之家  ›  专栏  ›  技术社区  ›  user576510

使用LINQ在字符串[,]中搜索

  •  -1
  • user576510  · 技术社区  · 6 年前

    我有二维字符串数组。我需要使用第一个元素编写匹配的LinqQudery,但返回第二个元素。

    例如:

    public string[,] values= { {"USA", "New York" }, { "Australia", "Sydney" } };
    

    如果在Linq中我匹配美国,则查询应返回“New York”。

    请帮助

    1 回复  |  直到 6 年前
        1
  •  2
  •   Gauravsa    6 年前

    您可以使用:

    string state = Enumerable
        .Range(0, values.GetLength(0))
        .Where(i => values[i, 0] == countryName) // here country name is "USA"
        .Select(i => values[i, 1])
        .FirstOrDefault(); // returns New York.
    

    此外,根据注释,您可以使用字典,然后您可以简单地使用:

    state = values.ContainsKey("USA") ? values["USA"] : string.Empty;