一个循环中的匿名c#委托 [英] Anonymous c# delegate within a loop
本文介绍了一个循环中的匿名c#委托的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
for(int i = 0; i< nics.Count; i ++)
{
rs [i] = new RollingSeries(monitor,new RollingSeries.NextValueDelegate(delegate()
{
return GetNetworkUtilization(nics [i]);
}));
}
Abdul khaliq
解决方案
制作 i的本地副本
:
code> for(int i = 0; i< nics.Count; i ++)
{
int j = i;
rs [i] = new RollingSeries(monitor,new RollingSeries.NextValueDelegate(delegate()
{
return GetNetworkUtilization(nics [j]);
}));
}
Hi all i am trying to write and anonymous delegate. as the integer variable is shared among the delegate i need it to be the local instance of every delegate such that rs[0] always gets nics[0], rs[1] always gets nics[1] and so on... how will i achieve this.
for (int i = 0; i < nics.Count; i++)
{
rs[i] = new RollingSeries(monitor, new RollingSeries.NextValueDelegate(delegate()
{
return GetNetworkUtilization(nics[i]);
}));
}
Abdul khaliq
解决方案
Make a local copy of 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]);
}));
}
这篇关于一个循环中的匿名c#委托的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文