7.2. LINQing with From, Where, and Select
LINQ adds a bunch of keywords to Visual Basic. If you've worked with SQL statements, you'll recognize many of the keywords, especially From, Select, and Where. This section shows how these popular clauses work, including samples of their syntax.
In a LINQ query, you declare a variable to hold the return value (for example, Dim q), but you don't have to declare what type of variable it is (such as String or Boolean). LINQ uses anonymous types because it often deals with data that contains multiple types that aren't compatible. When LINQ can't tell you what type a query returns, LINQ just makes up a type and passes it off as anonymous.
7.2.1. Targeting the source in a From...In clause
A From clause points to the source collection (data or objects) and declares an iteration variable. You use an iteration variable as a temporary representative for one item in a collection of items. In the following example, tz is the iteration variable, and System.TimeZoneInfo.GetSystemTimeZones returns the collection:
Dim q = From tz In System.TimeZoneInfo.GetSystemTimeZones
The preceding statement goes In the ...