gpt4 book ai didi

c# - 使用 Foreach 子句的 Lambda 表达式

转载 作者:IT王子 更新时间:2023-10-29 03:50:05 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Why is there not a ForEach extension method on the IEnumerable interface?

编辑

作为引用,这是埃里克在评论中提到的博客文章

https://ericlippert.com/2009/05/18/foreach-vs-foreach/

原图

我想更多的是出于好奇,但 C# 规范专家...

为什么 ForEach() 子句不能(或不可用)用于 IQueryable/IEnumerable 结果集...

您必须先将结果转换为 ToList() 或 ToArray()据推测,C# 迭代 IEnumerables 的方式存在技术限制。 list ...它与 IEnumerables/IQuerable 集合的延迟执行有关吗?例如

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));

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com