gpt4 book ai didi

c# - 通用列表的 ForEach 循环无限重复

转载 作者:行者123 更新时间:2023-12-02 17:59:02 24 4
gpt4 key购买 nike

反序列化仅包含一条记录的文件后

看起来是一个不定循环

IndexSeries = (List<string>)bFormatter.Deserialize(fsSeriesIndexGet);
IndexSeries.ForEach(name => AddSerie(name));
//IndexSeries.ForEach(delegate(String name)
//{
// AddSerie(name);
//});

AddSerie 将无限执行!

最佳答案

您使用了含糊不清的术语。首先,您提到无限循环,然后提到 AddSerie 将“无限地”执行[原文如此];基于此,我认为您提出的问题不是 ForEach 永远持续下去(如暗示/所述),而是 AddSerie 确实曾经的事情似乎会永远持续下去。

这甚至可能相当于 Joey 提到的内容:如果您在 ForEach 调用的上下文中while向列表中添加一个元素,那么您就是总是落后一步完成,因此不会“完成”。然而,获得 OutOfMemoryException 实际上会相对较快地发生如果,例如,AddSerie 只执行此操作 - 可能需要更长的时间才能到达这样的状态point if AddSerie 是一个比较耗时的方法。话又说回来,你可能永远不会遇到这样的异常(在讨论的上下文中)如果AddSerie只需要狗的年龄来完成而不为列表的长度。

显示您的 AddSerie 代码对于确定实际问题可能最有帮助。

关于c# - 通用列表的 ForEach 循环无限重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9311272/

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