btn1.Click += btn1_Click;
btn1.Click += new EventHandler(btn1_Click);方法名  是 创建委托实例  的简写 。   没区别

解决方案 »

  1.   

    我以前不明白,都是照抄的new Thread(new ThreadStart(t1));
    后来发现new Thread(t1);效果一样,都不那么写了
      

  2.   

    没有区别。前者,是c#的语法糖。也就是说是编译器帮你改写为第二种形式。因此你要搞清楚,这是.net的特性还是c#的特性。这是c#得特性,如果有人以为第一种写法“是.net的”那他就错了。
      

  3.   

    .net中根本不支持 new Thread(t1); 这种代码,这是c#编译器支持的。类似的东西也有很多。所以说c#比较优雅,是指这个部分。要分清楚“什么是c#的,什么是.net的”,你能更好地理解c#,也能更好地理解.net。
      

  4.   

    你要搞清楚ThreadStart是一个委托。虽然它叫Thread,但是它其实是一个普普通通的委托类型。
    就好比
    button.Click += button1_Click;

    button1.Click += new EventHandler(button1_Click);