public class DoActions
{
public void Doing(int i)
{
Thread.Sleep(4000);
Console.WriteLine(i.ToString());
}
} static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
//create a Job object
DoActions objJob = new DoActions(); Action action = new Action(delegate()
{
objJob.Doing(i);
});
action.BeginInvoke(null, null);
}
Console.WriteLine("Loop over.");
Console.ReadKey(); return;
}
输出并不是期望的0,1,2,3
实际上是10,10,10。。忘前辈指点。
解决方案 »
- ==求助高手, 很少人问的问题:如何实现局域网的复制==
- 想用C#开发一些桌面小工具,哪位高人能给些源代码参考下!
- WinFrom 代码设置GridView单元格的背景色
- ASP.NET怎么将字符串以原格式保存到MSSL的binary字段当中?百分求教
- MSDN都看不懂该怎么办?
- 求一个关于UBB中URL的正则表达式(C#)写法
- 还是那输入法变全角的问题......
- 发邮件时报带有CLSID的COM对象无效或未注册,怎么解决 急
- 简单问题,路过有分。。。。。。。。
- 编译时出现的“对路径"9xvenne-0.dll"的访问被拒绝”的警告出现的原因?高手请帮忙!
- C# 文件下載大小限制
- 客户端发现响应内容类型为“text/plain”,但应为“text/xml”.
{
AsyncHandler ah = new AsyncHandler(objJob.Doing);
ah.BeginInvoke(i, null, null);
}解决问题
Action<int> action = new Action<int>(delegate(int t)
{
objJob.Doing(t);
});
action.BeginInvoke(i, null, null);