一位同事曾经说过,每次我写一个 for 循环时,上帝都在杀死一只小猫。
当被问及如何避免 for 循环时,他的回答是使用函数式语言。但是,如果您受困于非函数式语言,比如 C#,有哪些技术可以避免 for 循环或通过重构摆脱它们?也许使用 lambda 表达式和 LINQ?如果是,怎么办?
问题
所以问题归结为:
- 为什么 for 循环不好?或者,在什么情况下要避免 for 循环以及为什么?
- 您能否提供 C# 代码示例,说明它之前的样子,即有循环和没有循环之后的样子?
最佳答案
在您对某些数据集进行操作并希望转换、过滤或聚合元素的情况下,函数结构通常比 for 循环更清楚地表达您的意图。
当您想重复执行某些操作时,循环非常合适。
例如
int x = array.Sum();
比
更清楚地表达了你的意图int x = 0;
for (int i = 0; i < array.Length; i++)
{
x += array[i];
}
关于c# - 如何用 C# 中的函数语句替换 for 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647073/