关于linq 这段没看懂,谁通俗的讲解一下

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嘛。


繁花不似锦
浏览 615回答 1
1回答

守候你守候我

自己做的人都没有理解,答案都是错的。。当然搞不懂了。最后的结果是: Hw r y,frnd.&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript