循环性能
本课属于 Coddy C# 学习旅程的“逻辑与流程”单元。第 13 课,共 66 课。
优化循环性能可以显著提升应用程序的运行速度,尤其是在处理大型数据集时。
在循环前将集合长度存储在变量中:
int[] numbers = { 1, 2, 3, 4, 5 };
int length = numbers.Length; // 只保存一次长度
for (int i = 0; i < length; i++) // 使用已保存的值
{
Console.WriteLine(numbers[i]);
}避免在循环条件中重复调用方法,例如:
for (int i = 0; i < GetCount(); i++)
{
// Loop body
}在循环的每次迭代中都会调用 GetCount() 方法。这意味着,如果循环运行 1000 次,GetCount() 也会执行 1000 次,因为每次迭代之前都会计算循环条件。
正确的做法如下:
int count = GetCount();
for (int i = 0; i < count; i++)
{
// 循环体
}循环开始前只调用一次 GetCount(),并将其值存储在 count 变量中。然后,循环在每次迭代时都会使用这个存储的值,无需反复调用该方法。
这种方法可以通过减少冗余操作来让代码运行得更快,尤其是在调用的方法会执行复杂计算或访问数据时。
挑战
简单创建一个名为 optimizedSum 的方法,它:
- 接受一个整数数组作为参数
- 计算所有元素的总和
- 实现优化和未优化两种方法:
- 未优化:在每次循环迭代中调用 array.Length
- 优化:在循环开始前缓存长度
- 返回优化方法的结果
亲手试试
public class OptimizedSum
{
// 实现 optimizedSum 方法
public static int optimizedSum(int[] numbers)
{
// 在这里编写你的代码
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: C# 在线编译器