如何使用linq获取字典对象的变量

rez*_*eza 2 c# linq dictionary

我有一个对象

class foo {
  public int bar;
  public string s;
}
Run Code Online (Sandbox Code Playgroud)

那是在字典里

Dictionary<String, foo> mm = new Dictionary<String, foo>();
Run Code Online (Sandbox Code Playgroud)

我想要使​​用LINQ来获取所有values的dictonary并返回所有"bar"变量的列表.我认为这应该很容易使用linq,但我没有设法fina相关的例子.

public int[] getList() {
  return mm.Values.bar <- something like that but with linq
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 6

你可以使用Enumerable.SelectToArray():

int[] bars = mm.Select(kv => kv.Value.bar).ToArray();
Run Code Online (Sandbox Code Playgroud)

  • +1 - 但将`ToList`更改为`ToArray`(`public int [] getList()`). (2认同)