相关疑难解决方法(0)

LINQ相当于foren for IEnumerable <T>

我想在LINQ中做相同的以下内容,但我无法弄清楚如何:

IEnumerable<Item> items = GetItems();
items.ForEach(i => i.DoStuff());
Run Code Online (Sandbox Code Playgroud)

什么是真正的语法?

linq ienumerable foreach

694
推荐指数
12
解决办法
46万
查看次数

使用Foreach子句的Lambda表达式

可能重复:
为什么IEnumerable接口上没有ForEach扩展方法?

编辑

作为参考,这里是eric在评论中引用的博客文章

http://blogs.msdn.com/ericlippert/archive/2009/05/18/foreach-vs-foreach.aspx

我想更多的好奇心,但C#规范Savants的一个...

为什么ForEach()子句在IQueryable/IEnumerable结果集上不起作用(或不可用)...

你必须首先转换你的结果ToList()或ToArray()大概是对C#迭代IEnumerables Vs的方式的技术限制.列表......是否与IEnumerables/IQuerable Collections的延迟执行有关.例如

var userAgentStrings = uasdc.UserAgentStrings
    .Where<UserAgentString>(p => p.DeviceID == 0 && 
                            !p.UserAgentString1.Contains("msie"));
//WORKS            
userAgentStrings.ToList().ForEach(uas => ProcessUserAgentString(uas));         

//WORKS
Array.ForEach(userAgentStrings.ToArray(), uas => ProcessUserAgentString(uas));

//Doesn't WORK
userAgentStrings.ForEach(uas => ProcessUserAgentString(uas));
Run Code Online (Sandbox Code Playgroud)

c# foreach lambda .net-3.5

50
推荐指数
2
解决办法
3万
查看次数

标签 统计

foreach ×2

.net-3.5 ×1

c# ×1

ienumerable ×1

lambda ×1

linq ×1