You did not show any anonymous types. You showed a lambda expression. In this case, the compiler will effectively create an additional method for you, for example:
private static bool SomeUnspeakableName(string X)
{
return X != "1";
}
Then your code will be translated into this, effectively:
List<String> MyList=new List<String>{"0","1","0"}
.Where(new Func<string, bool>(SomeUnspeakableName))
.ToList();
... , . (, , Enumerable.Where Enumerable.ToList.)
, X . , - ( ). .
, , :
var anon = new { Name = "Jon", Age = 34 };
, string int, , , string ( , ) a int.