在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
循環中,我們首先檢查字典中是否已經包含了當前數字的平方。如果沒有,我們就計算它并將其添加到字典中。然后,我們可以從字典中獲取該數字的平方,而不是重新計算它。這樣可以避免在循環中重復計算相同的值。