温馨提示×

c# foreach循环中如何避免重复计算

c#
小樊
84
2024-08-27 15:13:06
栏目: 编程语言

在C#的foreach循环中,为了避免重复计算,可以将结果存储在一个变量或集合中,这样就可以在循环中重用这些值,而不是每次都重新计算。以下是一个示例:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
        Dictionary<int, int> squareCache = new Dictionary<int, int>();

        foreach (int number in numbers)
        {
            if (!squareCache.ContainsKey(number))
            {
                // 计算平方并将其存储在字典中
                squareCache[number] = number * number;
            }

            Console.WriteLine($"The square of {number} is {squareCache[number]}");
        }
    }
}

在这个示例中,我们创建了一个名为squareCache的字典来存储数字及其对应的平方。在foreach循环中,我们首先检查字典中是否已经包含了当前数字的平方。如果没有,我们就计算它并将其添加到字典中。然后,我们可以从字典中获取该数字的平方,而不是重新计算它。这样可以避免在循环中重复计算相同的值。

0