新的Thread(void Target())和新的Thread(新的ThreadStart(void Target())之间有什么区别?)

很抱歉,如果之前已经询问过这个问题,但我想简单回答以下两种用法之间的差异。 VS似乎接受它们作为有效代码。

private static void doSomeWork() { //do some work } public someClass() { //Thread thread = new Thread(doSomeWork); //or //Thread thread = new Thread(new ThreadStart(doSomeWork)); } 

唯一的区别是第一个在C#1中不起作用.C#2及更高版本的编译器将第一个转换为第二个。

方法组可隐式转换为具有兼容签名的委托类型。 此function称为“(隐式)方法组转换”。 有时您需要第二个来指导重载解析,但这不是这种情况。