C# · 12月 22, 2021

c# – ThreadStart和Action之间的区别

有人知道之间的区别吗 @H_301_2@Dispatcher.BeginInvoke(DispatcherPriority.Background,new ThreadStart(() =>{

@H_301_2@Dispatcher.BeginInvoke(DispatcherPriority.Background,new Action(() =>{解决方法 应该没有区别. ThreadStart和Action定义为 @H_301_2@public delegate void ThreadStart();public delegate void Action();

即委托没有参数,没有返回值.所以他们在语义上是一样的.

然而,我会使用Action而不是ThreadStart,因为ThreadStart与Thread构造函数强烈关联,因此与ThreadStart的代码可以提示直接创建线程,因此会略有误导.