As my title is self explanatory, I know how to rectify it but why is it so in the first place?
Scenario
I wrote a VB.Net Code
Dim list As List(Of String) = New List(Of String)
//Code to populate list
Dim wherelinq As IEnumerable(Of String) = From s In list Where s.StartsWith("A")
This works fine and gives no error
but the same logic in C# fails
List<string> list = new List<string>();
//Code to populate list
IEnumerable<string> wherelinq = from s in list where s.StartsWith("A");
This gives error

Why this restriction in C#? Anything specific that I am missing?
VB.NET and C# are different languages, so it is natural that the LINQ query syntax is different, too: C# requires
select s, while VB.NET does not.Microsoft’s documentation requires that a query syntax query in C# must end in
selectorgroup:See C# language specification, section 7.16, for details on the syntax.
You do not have to add
selectif you use the function syntax: