Menu
CoddyTech

循环性能

本课属于 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 变量中。然后,循环在每次迭代时都会使用这个存储的值,无需反复调用该方法。

这种方法可以通过减少冗余操作来让代码运行得更快,尤其是在调用的方法会执行复杂计算或访问数据时。

challenge icon

挑战

简单

创建一个名为 optimizedSum 的方法,它:

  1. 接受一个整数数组作为参数
  2. 计算所有元素的总和
  3. 实现优化和未优化两种方法:
    • 未优化:在每次循环迭代中调用 array.Length
    • 优化:在循环开始前缓存长度
  4. 返回优化方法的结果

亲手试试

public class OptimizedSum
{
    // 实现 optimizedSum 方法
    public static int optimizedSum(int[] numbers)
    {
        // 在这里编写你的代码
        
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: C# 在线编译器