如何在F#中实现C#返回Task<bool>.FromResult的等效异步函数
F# 等价实现
你给出的C#代码对应的F#实现有两种常用写法,功能完全一致:
1. 直接对齐C#逻辑的写法
type Main() = member private _.A() = System.Threading.Tasks.Task.FromResult(true)
2. F# 惯用的Task计算表达式写法(推荐)
open System.Threading.Tasks type Main() = member private _.A() = task { return true }
说明
- 两种写法返回的类型都是
Task<bool>,和你提供的C#代码运行效果完全相同。 - 第一种写法逻辑和C#完全一致,直接调用
Task.FromResult包装返回值即可。 - 第二种写法使用F#内置的
task计算表达式,是F#编写Task相关代码的常用方式,语法更简洁,后续如果要在方法中添加其他异步逻辑也更易维护。
内容的提问来源于stack exchange,提问作者Viaceslavus
相关产品推荐
相关产品推荐

