如何选择另一个列表中包含的不同元素列表?

Pod*_*dge 4 c# linq

我有以下代码

new Dictionary<string,IEnumerable<Control>>()
{
    { "view1", new Control[] { contents, building, view1 }},
    { "view2", new Control[] { contents,  view2 }},
    { "view3", new Control[] { building,  view3 }
}
Run Code Online (Sandbox Code Playgroud)

如何使用linq获取所有不同控件的列表?

结果应该是:

{
    contents,
    building,
    view2,
    view3
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 6

var controls = yourDictionary.SelectMany(pair => pair.Value).Distinct();
Run Code Online (Sandbox Code Playgroud)

  • Marc Gravell vs Jon Skeet,真是一场战斗!:) (2认同)
  • @Andrey - 即使*如果*我偶尔会赢得奇怪的"战斗",我想我们知道谁拥有这场战争; p (2认同)