Why does VB have more LINQ keywords than C#?

c#, linq, vb.net

Solution

If i remember correctly the only 4 keywords that are available to VB.Net and not C# via the query syntax are

- Distinct

- Skip / Skip While

- Take / Take While

- Aggregate

VB.Net added these keywords because we felt it would be valuable to our users. We envisioned query syntax being a primary way VB.net users would use LINQ and wanted to enable as many scenarios as possible via the syntax.

I do not know why C# left these out. My speculation is that they didn't feel the scenario justified the cost especially considering the feature is still available via extension methods.

EDIT Added Aggregate and a few others (thanks Dario and Chris!)

Problem

Why does VB have more LINQ keywords than C#?

Original source