Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将lambda类型从int=>;IEnumerable<;字符串>&燃气轮机;to int=>;任务<;IEnumerable<;字符串>&燃气轮机>;?_C#_Asynchronous - Fatal编程技术网

C# 将lambda类型从int=>;IEnumerable<;字符串>&燃气轮机;to int=>;任务<;IEnumerable<;字符串>&燃气轮机>;?

C# 将lambda类型从int=>;IEnumerable<;字符串>&燃气轮机;to int=>;任务<;IEnumerable<;字符串>&燃气轮机>;?,c#,asynchronous,C#,Asynchronous,我有办法 string M1(Func<int x, Task<IEnumerable<string>>> getList) // getList: int => Task<IEnumerable<string>>> { ...... } 字符串M1(Func getList) //getList:int=>Task> { ...... } 如何将下面的M1参数设置为键入int=>Task> var l=new Lis

我有办法

string M1(Func<int x, Task<IEnumerable<string>>> getList) 
// getList: int => Task<IEnumerable<string>>>
{ ...... }
字符串M1(Func getList) //getList:int=>Task> { ...... } 如何将下面的M1参数设置为键入
int=>Task>

var l=new List();…../l是预制的
var r=M1(x=>l);//参数的类型为int=>IEnumerable>
async x=>l
将发出警告。

用于创建结果已处于完成状态的任务

var l = new List<string>(); .... // l is pre-built
var r = M1(x => Task.FromResult<IEnumerable<string>>(l));
var l=new List();…../l是预制的
var r=M1(x=>Task.FromResult(l));
用于创建结果已处于完成状态的任务

var l = new List<string>(); .... // l is pre-built
var r = M1(x => Task.FromResult<IEnumerable<string>>(l));
var l=new List();…../l是预制的
var r=M1(x=>Task.FromResult(l));

它与
异步x=>l
相比如何?它将执行与
async x=>l
相同的逻辑,但不会发出警告,也不会由编译器在后台生成额外的代码。每当您看到该警告时,通常可以使用
Task.FromResult()
作为返回的对象来解决问题。显示两个。查看具有FromResult的版本如何没有
旁边。它与
异步x=>l
相比如何?它将执行与
async x=>l
相同的逻辑,但不会发出警告,也不会由编译器在后台生成额外的代码。每当您看到该警告时,通常可以使用
Task.FromResult()
作为返回的对象来解决问题。显示两个。查看具有FromResult的版本如何没有
在它旁边。