使用linq将KeyValuePair List的键获取到int[]数组

本文关键字:int 数组 获取 linq KeyValuePair List 使用 | 更新日期: 2023-09-27 17:59:19

具有名为Info-的List<KeyValuePair<int,string>>

1  Sur
2  Hn
3  uh
4  er
5  Sur

我想获取所有具有值字符串"Sur" (1,5)的id,然后将此结果转换为int数组。

我在尝试类似的东西

int[] productsArray = Info.Select(kvp => kvp.Key ).Where(x => x.ToString () == "Sur").ToArray();

据我所知,x-In查询将密钥与"Sur"进行比较,这是不正确的。

如何正确地从这样的查询中获取整数数组

使用linq将KeyValuePair List的键获取到int[]数组

试试这样的

List<KeyValuePair<int,string>> infos;
int[] keys = infos.Where(kvp => kvp.Value == "Sur").Select(kvp => kvp.Key).ToArray();

我希望这是你的答案。我觉得你把问题写错了。

  info.Where(cc => cc.Value == "Sur").Select(cc => cc.Key).ToArray();