在C#的foreach
循环中,为了避免重复计算,可以将结果存储在一个变量或集合中,这样就可以在循环中重用这些值,而不是每次都重新计算。以下是一个示例:
using System; using System.Collections.Generic; class Program { static void Main() { Listnumbers = new List { 1, 2, 3, 4, 5 }; Dictionary squareCache = new Dictionary (); foreach (int number in numbers) { if (!squareCache.ContainsKey(number)) { // 计算平方并将其存储在字典中 squareCache[number] = number * number; } Console.WriteLine($"The square of {number} is {squareCache[number]}"); } } }
在这个示例中,我们创建了一个名为squareCache
的字典来存储数字及其对应的平方。在foreach
循环中,我们首先检查字典中是否已经包含了当前数字的平方。如果没有,我们就计算它并将其添加到字典中。然后,我们可以从字典中获取该数字的平方,而不是重新计算它。这样可以避免在循环中重复计算相同的值。