using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;class Program
{
    static void Main(string[] args)
    {
        List<Action> actions = new List<Action>();
        actions.Add(() => Console.WriteLine("A1"));
        actions.Add(() => Console.WriteLine("A2"));
        actions.Add(() => Console.WriteLine("A3"));
        actions.Add(() => Console.WriteLine("A4"));        foreach (var action in actions)
        {
            ThreadPool.QueueUserWorkItem(state => action(), null);
            Thread.Sleep(1);
        }        Console.Read();
    }
}
 ThreadPool.QueueUserWorkItem(state => action(), null);
state => action()state => action()是什么意思? state这个变量是哪里来的?

解决方案 »

  1.   

    lambuda表达式、、随便定义的一个参数名而已
      

  2.   

    我知道是Lambda表达式,但是state => action()和上面list里面的Action没有任何的关联,怎么去理解?
      

  3.   

    action()  执行委托中的方法。。
      

  4.   

    我懂了,但是 state => action()中的state为什么这个变量可以随便定义? 我修改了state,改为asdfasdf任何一个名称都可以通过编译运行,既然如此,那个这个变量到底有什么意义呢?