c# - 从 Foreach 中的集合中删除单个元素
问题描述
只是想知道在 foreach 循环中从集合中删除单个元素而不保存它以在循环外执行是否不安全/错误形式/只是看起来很脏。我知道如果你必须继续迭代,它可能会打破循环(在某些情况下,只是抛出一个错误),但在这种情况下你不需要再次迭代,因为当你找到你是什么时你正在使用一个 break 语句寻找。
例子:
List<string> strings = new List<string>() { "A", "B", "C" };
foreach(string s in strings)
{
if (s == "B")
{
strings.Remove("B");
break;
}
}
这很糟糕吗?我通常会将其编写为一个向后循环或将 stringToRemove 缓存在一个变量中(显然名称为 stringToRemove),但只是想知道其他人对此有何感觉。
解决方案
推荐阅读
- javascript - onTouchStart 事件触发 React js 中的父 OnClick 事件
- unix - 鱿鱼代理目标IP白名单
- python - 使用 df2gspread 将多索引数据框上传到谷歌表格
- c++ - MFC SDI 使用 SetMenu 更改菜单但如何更改加速器?
- pygtk - SUSE Enterprise 15 SP2 上的 Python-gtk
- outlook - 是否有一个属性可以隐藏 HTML 电子邮件中按钮上的 OutLook 转换控件?
- apache-kafka-streams - Kafka StreamsBuilder java客户端在构造函数初始化期间挂起
- javascript - 按钮仅在从关键字输入文本后启用
- php - 获取另一个表数据以显示在下拉列表 Laravel
- amazon-web-services - 如何使用 pulumi aws provider 定义默认标签