Wie funktioniert die LINQ-Methode "Where"?

Wie genau ist die "where" -Methode von LINQ definiert? Ich vermute, die Implementierung sieht ungefähr so aus:

public static IEnumerable<T> Where ( this partialParent, Func<bla,bla> myDelegate ) 

Nun, wenn ich die Where-Methode wie folgt aufrufe:

from c in context.Con
where ( c.Col1 == c.Col2 )
select c

Ich vermute"c.Col1 == c.Col2" wird weitergegeben und einigeforeach loop prüft. Aber was ist los, wenn ich wo so aufrufe:

where ( c.Col1 == c.Col2 || c.Col3 == c.Col4 )

Werden die beiden "Schecks" als ganzer Ausdruck weitergereicht? Vielleicht fehlt mir etwas ganz Einfaches.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage