有没有办法从C#中的对象字典中提取原始字段?

Joe*_*oel 1 c# linq dictionary

这是我正在尝试做的事情:

ObjectA
{
    int ID;
    string name;
}
Run Code Online (Sandbox Code Playgroud)

我想将Dictionary转换为List,其中列表中的字符串是字典中ObjectAs的.name值.显然,我可以手动迭代字典值并以这种方式构建列表,但我希望在C#/ .NET中有更简单或更快的方式.LINQ解决方案很好,如果它更简单,更快/更快:

List<string> aNames = new List<string>();
foreach(ObjectA a in DictionaryA.Values)
aNames.Add(a.name);
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 7

这是Matthew答案的非查询表达形式:

var names = DictionaryA.Values.Select(x => x.name).ToList();
Run Code Online (Sandbox Code Playgroud)

(当我只做一个选择或单个选择时,我倾向于不使用查询表达式,特别是如果我还需要调用另一个方法,例如ToList.)

或者:

var names = DictionaryA.Select(x => x.Value.name).ToList();
Run Code Online (Sandbox Code Playgroud)