GJK*_*JKH 2 c# vb.net syntax task
对不起,如果这很明显.我正试图从VB.NET跳转到C#,我正在玩任务.在VB.NET中我可以像这样定义一个任务:
Dim t As New Task(Sub()
Threading.Thread.Sleep(1000)
End Sub)
Run Code Online (Sandbox Code Playgroud)
任务之后的部分对我有意义,我正在创建一个新方法.
在C#中它看起来像:
Task t = new Task(() =>
{
Thread.Sleep(1000);
});
Run Code Online (Sandbox Code Playgroud)
我猜这()是说它是一种新方法,但是我需要什么以及为什么=>.
这=>是C#用于定义lambda表达式的语法.
它是VB Task构造函数中的Sub()/ 的等价物End Sub.
而不是将委托定义为:
Dim del as Action = Sub() Threading.Thread.Sleep(1000)
Run Code Online (Sandbox Code Playgroud)
在C#中,你会写:
Action del = () => Threading.Thread.Sleep(1000);
Run Code Online (Sandbox Code Playgroud)
Task只是将相同的语法移动到构造函数中,并将其声明为内联.