C#:我不能在ThreadStart中使用匿名委托吗?

use*_*973 5 c# multithreading

我不能拥有匿名委托声明,类似于以下内容:

    ThreadStart starter = delegate() { go(); };
            ...

    static void go()
    {
      Console.WriteLine("Nice Work");
    }

   // (or)

   ThreadStart starter=delegate() { Console.WriteLine("Hello");}
Run Code Online (Sandbox Code Playgroud)

Jes*_*alm 7

您可以跳过ThreadStart.这应该工作.

Thread t = new Thread(() => 
{
  Console.WriteLine("Hello!");
});
Run Code Online (Sandbox Code Playgroud)


Che*_*eso 4

你得到什么错误?缺少分号?这为我编译。

    static void go()
    {
        Console.WriteLine("Nice Work");
    }

    public void Run()
    {
        ThreadStart starter1 = delegate() { go(); };

        ThreadStart starter2 = delegate() { Console.WriteLine("Hello");};

        ThreadStart starter3 = () =>  Console.WriteLine("Hello");

    }
Run Code Online (Sandbox Code Playgroud)