我正在努力掌握异步/等待,我想澄清一些混乱.有人可以解释以下执行方面的差异:
// version 1
public Task Copy(string source, string destination) {
return Task.Run(() => File.Copy(source, destination));
}
public async Task Test() {
await Copy("test", "test2");
// do other stuff
}
Run Code Online (Sandbox Code Playgroud)
和:
// version 2
public async Task Copy(string source, string destination) {
await Task.Run(() => File.Copy(source, destination));
}
public async Task Test() {
await Copy("test", "test2");
// ...
}
Run Code Online (Sandbox Code Playgroud)
它们是否会产生相同的代码,为什么我会在另一个上面写一个?