我不能拥有匿名委托声明,类似于以下内容:
ThreadStart starter = delegate() { go(); };
...
static void go()
{
Console.WriteLine("Nice Work");
}
// (or)
ThreadStart starter=delegate() { Console.WriteLine("Hello");}
答案 0 :(得分:7)
您可以跳过ThreadStart。这应该有用。
Thread t = new Thread(() =>
{
Console.WriteLine("Hello!");
});
答案 1 :(得分: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");
}
答案 2 :(得分:1)
是的,你可以。什么是实际问题?
顺便说一下,你在第二个例子的末尾错过了一个分号:
ThreadStart starter=delegate() { Console.WriteLine("Hello");}
应该是:
ThreadStart starter = delegate { Console.WriteLine("Hello"); };
虽然我添加的间距是个人选择。