web-dev-qa-db-ja.com

VB.netでこのラムダ選択メソッドを書くにはどうすればよいですか?

私はこれを試しました:

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#にあります。

22
dotnetN00b

これは:

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

詳細については、「 匿名型 」を参照してください。 (使用法によっては、キーまたは値に Keyキーワード のフラグを付けることもできます。)

そうは言っても、Dictionary(Of TKey, Of TValue)はすでにIEnumerable(Of KeyValuePair(Of TKey, Of TValue)であるため、次のようにすることもできます。

_Dim blah = exampleItems.ToList
_

そして、すでにKeyおよびValueプロパティを持つKeyValuePairのリストがあります。これは本当に匿名型を作成する必要がないことを意味します。

38
Reed Copsey