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

enter image description here

Why this restriction in C#? Anything specific that I am missing?

Edit
Report