很抱歉,如果之前有人问过这个问题,但我想简单回答以下两种用法之间的区别。 VS似乎接受它们都是有效的代码。
private static void doSomeWork()
{
//do some work
}
public someClass()
{
//Thread thread = new Thread(doSomeWork);
//or
//Thread thread = new Thread(new ThreadStart(doSomeWork));
}
答案 0 :(得分:6)
唯一的区别是第一个在C#1中不起作用.C#2及更高版本的编译器将第一个转换为第二个。
方法组可隐式转换为具有兼容签名的委托类型。此功能称为“(隐式)方法组转换”。有时您需要第二个指导重载解析,但这不是这种情况。