要使用此方法:
public static Task Run(Action action)
Run Code Online (Sandbox Code Playgroud)
我只想写:
void MyMethod(){ //do something }
Task t = Task.Run(new Action(MyMethod));
Run Code Online (Sandbox Code Playgroud)
但是我不明白如何使用以下重载
public static Task Run(Func<Task> f)
Run Code Online (Sandbox Code Playgroud)
msdn提到返回的任务是"f返回的任务的代理",这对我来说更加困惑.代理是什么意思,我将如何调用此方法?
字符串文字在C#中是否具有特定类型(如c ++中的const char*),或者C#是否只为程序中出现的每个字符串文字创建一个新的字符串对象?我很想知道在执行以下语句时幕后发生的事情:
string s1 = "OldValue";
Run Code Online (Sandbox Code Playgroud)
这会调用字符串类中的特定方法(构造函数,或者一个impicit转换操作符,......)或C#是否创建一个包含"OldValue"的新字符串对象(然后只是将其引用分配给s1,就像它会对于任何参考类型)?
我试图理解字符串类的设计是什么,保证s1的价值仍为"OldValue":
string s2 = s1;
s2 = "NewValue";
Run Code Online (Sandbox Code Playgroud)