c# - 如何通过 C# 返回 Task<List<string>>?

标签 c# windows-store-apps

我目前正在使用 VS2012 和 .NET 4.5 迈出第一步,使用异步和等待。

为此,我正在实现一个具有以下签名的方法:

public Task<List<string>> foo() {...}

我知道如何返回一个列表,但我不知道如何将这个列表放入任务<>。 怎么做?

编辑:这是完整的例子,我需要知道我需要改变什么才能使返回语句成为可能

public async Task<List<string>> foo()
{
    List<string> myList = new List<string>;
        {...}
    return mylist;
}

最佳答案

如果您的方法实际上是异步的,您只需添加 async关键字,编译器将生成一个 Task给你。

您也可以使用 ContinueWith() 手动编写异步代码在现有任务上或在 Task 上使用静态方法类来创建新任务。

如果你的方法不是异步的,那没有意义;你应该返回 List<string>直接。
如果出于某种原因,您需要返回预先完成的 Task<T>从同步方法(如果你正在实现一个接口(interface)),你可以调用 Task.FromResult .

关于c# - 如何通过 C# 返回 Task<List<string>>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960036/

相关文章:

c# - 具有搜索模式的 StorageFolder.GetFilesAsync() 方法?

windows-store-apps - 当放置在 ViewBox 中时,TextBlock 文本不会换行

c# - 从 BIML 脚本自动生成 SSIS 包

c# - 如何在WPF中设置按钮的背景颜色?

c# - 如何在 C# 中切换 XML XDocument XElement 中的属性

c# - while 循环 C# 的登录系统问题

windows-8 - 错误 : DEP0700 : Registration of the app failed. 错误 0x80070002:由于内部错误或内存不足,Windows 无法注册程序包

windows-store-apps - 错误 : DEP1630 : Invalid "TargetOsVersion" property

c# - 在 C# 应用程序中存储多个生成的变量值

c# - C# 中的命令行参数