0
我有一個方法將lambda類型從int => IEnumerable <string>>轉換爲int =>任務<IEnumerable <string> >>?
string M1(Func<int x, Task<IEnumerable<string>>> getList)
// getList: int => Task<IEnumerable<string>>>
{ ...... }
如何使M1的參數在下面輸入int => Task<IEnumerable<string>>>
。
var l = new List<string>(); .... // l is pre-built
var r = M1(x => l); // The type of param is int => IEnumerable<string>>
async x => l
會給出警告。
它與'async x => l'相比如何?這將會發出警告。 – ca9163d9
它將做同樣的邏輯爲'異步X => l'但也可以用它沒有警告,而不受幕後編譯器生成的額外的代碼。你看到警告你通常可以只使用'Task.FromResult任何時間()'爲對象返回來解決問題。 –
[這是一個DotNetFiddle](https://dotnetfiddle.net/89Luwb)顯示了這兩個。看看帶有FromResult的版本旁邊沒有'!'。 –