C# 中缺失的 IEnumerable
ForEach 扩展方法
C# 包含 foreach
语句,但令人惊讶的是缺少 ForEach
接口相应的 IEnumerable
扩展方法。 这种缺席引发了对其设计和潜在影响的质疑。
性能权衡
foreach
语句的效率是遗漏的一个关键原因。 .NET 运行时优化其 foreach
循环实现。 基于委托的 ForEach
方法可能会因额外的函数调用和类型验证而引入性能开销。
简单性和可读性
foreach
声明的清晰度和可读性也是重要因素。其简单的语法增强了代码理解和维护。 额外的基于方法的方法可能会增加不必要的复杂性并降低可读性。
语句与方法:主要区别
尽管有现有的 foreach
声明,ForEach
方法仍提供了潜在的优势:
foreach
执行运行时类型检查,而 ForEach()
方法将提供编译时类型检查。ForEach()
方法将提供更简洁的语法:objects.ForEach(DoSomething)
.ForEach()
方法可能会为更复杂的操作启用方法链接。未来的可能性
虽然 foreach
语句足以处理大多数情况,但 C# 团队已经认识到标准 ForEach
方法的潜在好处。 他们表示愿意考虑在未来的框架版本中添加它。
以上是为什么 C# 没有'IEnumerable”的 ForEach 扩展方法?的详细内容。更多信息请关注PHP中文网其他相关文章!