我正在使用 Func<> 委托(delegate)添加整数范围 (101,105)。我想在执行以下命令时得到 101,102,..105 作为输出。但是我得到 204,204,..... 出了什么问题?
class MainClass
{
static List<Func<int>> somevalues = new List<Func<int>>();
static void Main()
{
foreach (int r in Enumerable.Range(100, 105))
{
somevalues.Add(() => r);
}
ProcessList(somevalues);
Console.ReadKey(true);
}
static void ProcessList(List<Func<int>> someValues)
{
foreach (Func<int> function in someValues)
{
Console.WriteLine(function());
}
}
}
最佳答案
关于C# 函数委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1821626/