gpt4 book ai didi

c# - 在 F# 中返回具有名称的元组

转载 作者:行者123 更新时间:2023-11-30 14:21:14 24 4
gpt4 key购买 nike

在 C# 中我可以这样做:

public (bool result, string message) Hello()
{
...
return (true, "ok")
}

我正在尝试找出如何在 F# 中执行此操作。

我能做到:

let Hello () =
(true, "ok")

但是,当我从 C# 调用 Hello 时,我必须获取元素“Item1”和“Item2”。

有没有办法在返回的元组中命名字段?

我试过:

let hello () : (result, message ): bool * string =

还有一些其他变体,但我做不到。

返回的类型在 C# 中被视为元组对象,而上面显示的纯 C# 示例似乎没有使用元组类型。

我猜你不能命名元组对象中的项目,但是有没有办法像在 C# 中那样返回参数?

最佳答案

标准 F# 元组是 System.Tuple在引擎盖下(在 C# 中将写为 Tuple<bool, string>),而从 C# 代码返回的元组是较新的 System.ValueTuple .要从 F# 创建它,您需要在元组创建前加上 struct 前缀关键词。不过,这仍然不允许您在 F# 中命名元组元素;这只是一个 C# 编译器功能,在底层 BCL 类型中不支持。

您在 F# 中以类似方式使用各个返回值的选项是

关于c# - 在 F# 中返回具有名称的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58513736/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com