C#foreach包含Dictionary <String,ObjectType>中包含的对象的属性

Cra*_*vis 1 c# collections

是否可以直接在C#中的Dictionary集合中存储的对象的属性中进行迭代?

例如,我有一个名为Fields of type的Dictionary Dictionary<String, Field>.Field对象有一个Data属性,它的类型是XmlDataDocument,所以我想做类似的事情,

foreach(XmlDataDocument fieldData in Fields.Values.Data){

}
Run Code Online (Sandbox Code Playgroud)

我知道这非常简单,因为当我在Field对象上进行迭代时我需要做的就是,

XmlDataDocument fieldData = field.Data;
Run Code Online (Sandbox Code Playgroud)

在Field itteration中,如果有更快的方法,我想知道:-)

Bar*_*lly 5

在C#3.0中:

foreach (var data in Fields.Values.Select(x => x.Data))
{
}
Run Code Online (Sandbox Code Playgroud)

然而,这并不是"更快".