为了账号安全,请及时绑定邮箱和手机立即绑定

Linq中延迟执行的问题

Linq中延迟执行的问题

潇潇雨雨 2018-11-28 19:08:41
我刚学linq,遇到点问题,希望高手解答。下面是我用linqpad中的例子的疑问。IEnumerable<char> query = "期望中的结果";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');new string (query.ToArray()).Dump ("所有元音都被过滤.");query = "不是期望的结果";foreach (char vowel in "aeiou")    query = query.Where (c => c != vowel);  new string (query.ToArray()).Dump ("只有u被过滤了"); 不知道延迟查询是怎么回事,我知道ToList()可以取消延迟查询。而且在foreach里添加一个变量替换vowel也可以和第一个显示的一样,这是为什么呢?不清楚究竟为什么两个结果不一样?坐等高手!
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 336 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信