c# - 循环中的匿名 c# 委托(delegate)

标签 c# delegates

大家好,我正在尝试编写匿名委托(delegate)。由于整数变量在委托(delegate)之间共享,我需要它是每个委托(delegate)的本地实例,这样 rs[0] 总是得到 nics[0],rs[1] 总是得到 nics[1] 等等......如何我能做到吗?

for (int i = 0; i < nics.Count; i++)
   {
         rs[i] = new RollingSeries(monitor, new RollingSeries.NextValueDelegate(delegate()
         {
            return GetNetworkUtilization(nics[i]);
          }));
    }

阿卜杜勒哈利克

最佳答案

制作i的本地副本:

   for (int i = 0; i < nics.Count; i++)
   {
         int j = i;
         rs[i] = new RollingSeries(monitor, new RollingSeries.NextValueDelegate(delegate()
         {
            return GetNetworkUtilization(nics[j]);
          }));
    }

The Beauty of Closures

关于c# - 循环中的匿名 c# 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1757112/

相关文章:

c# - 从通用类调用通用事件处理程序

c# - 调用者的许可与声明者的许可

c# - Sentinel Hl Basic 保护供应商代码

c# - 资源是一个不明确的引用

c# - Moq 正在读取分配给输出参数的值。如何?

ios - 使用 Modal Segue 在两个 VC 之间传递图像

swift - 如何防止NSTableView调用委托(delegate)函数?

iphone - iOS-FBConnect - 如果他们的委托(delegate)被释放,请求结果会使应用程序崩溃

c# - Humanizer 无法在 C# 中对意大利语单词进行单数化或复数化

c# - 将 ListView 拆分为多列