1-й оператор:
IEnumerable<char> query = "Not what you might expect";
query = query.Where (c => c != 'a');
query = query.Where (c => c != 'e');
query = query.Where (c => c != 'i');
query = query.Where (c => c != 'o');
query = query.Where (c => c != 'u');
Вывод String.Join("", query)
: "Nt wht y mght xpct"
2-й оператор:
query = "Not what you might expect";
foreach (char vowel in "aeiou")
query = query.Where (c => c != vowel);
Выход String.Join("", query)
: "Not what yo might expect"
Выходы из этих операторов различны. Может ли кто-нибудь объяснить, почему?