Как написать этот метод выбора лямбда в 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

Но я получаю синтаксическую ошибку, и все примеры, которые я видел, находятся на С#.

Ответы

Ответ 1

Это будет:

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

Подробнее см. Анонимные типы. (В зависимости от использования вам также может понадобиться отметить ключ или значение с ключевое ключевое слово.)

При этом Dictionary(Of TKey, Of TValue) уже есть IEnumerable(Of KeyValuePair(Of TKey, Of TValue), поэтому вы также можете просто сделать:

Dim blah = exampleItems.ToList

И у вас будет список KeyValuePair, у которого уже есть свойство Key и Value. Это действительно означает, что нет необходимости создавать анонимный тип.