What you may not know is that, as of Visual Basic 10 (.NET Framework 4/Visual Studio 2010), there's a variation on that syntax you can use to initialize collection: Just insert the keyword From ...
If you've created an anonymous object, you've probably written code like this: Dim anon = New With { .FirstName = "Peter", .LastName = "Vogel" } This code would give you a new, anonymous object with ...