How do I write this lambda select method in VB.net?
Asked Answered
T

1

27

For I've tried this:

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

But I'm getting a syntax error and all the examples that I've seen are in C#.

Tapir answered 22/5, 2012 at 18:48 Comment(0)
D
43

This would be:

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

For details, see Anonymous Types. (Depending on usage, you might also want Key or Value to be flagged with the Key keyword.)

That being said, Dictionary(Of TKey, Of TValue) already is an IEnumerable(Of KeyValuePair(Of TKey, Of TValue), so you can also just do:

Dim blah = exampleItems.ToList

And you'll have a list of KeyValuePair, which has a Key and Value property already. This really means there's no need to make the anonymous type.

Dogoodism answered 22/5, 2012 at 18:49 Comment(1)
+1 I was just about to post exactly the same answer, but then decided to press F5 doing so, and saw ur answer already there :)Flack

© 2022 - 2024 — McMap. All rights reserved.