IEnumerable<char> query = "How are you, friend.";
foreach(char vowel in "aeiou")
query = query.Where(c => c != vowel);
foreach (char c in query) Console.Write(c); //How are yo, friend.結果中只有字母u被過濾了,咋一看,有沒有吃一驚呢!但只要仔細一想就能知道原因:因為vowel定義在循環之外,所以每個lambda表達式都捕獲了同一變量。當我們的query執行時,vowel的值是什么呢?不正是被過濾的字母u嘛。
關于linq 這段沒看懂,誰通俗的講解一下
繁花不似錦
2018-08-16 15:14:54