27

因为我试过这个:

Dim exampleItems As Dictionary(Of String, String) = New Dictionary(Of String, String)
Dim blah = exampleItems.Select (Function(x) New (x.Key, x.Value)).ToList 'error here

但是我遇到了一个语法错误,而且我看到的所有示例都在 C# 中。

4

1 回答 1

43

这将是:

Dim blah = exampleItems.Select (Function(x) New With { .Key = x.Key, .Value = x.Value }).ToList 

有关详细信息,请参阅匿名类型。(根据使用情况,您可能还希望使用Key 关键字标记 Key 或 Value 。)

话虽这么说,Dictionary(Of TKey, Of TValue)已经是一个IEnumerable(Of KeyValuePair(Of TKey, Of TValue),所以你也可以这样做:

Dim blah = exampleItems.ToList

你会得到一个 KeyValuePair 列表,它已经有一个KeyandValue属性。这实际上意味着不需要创建匿名类型。

于 2012-05-22T18:49:51.243 回答