gpt4 book ai didi

f# - 如何在 F# 和 C# 元组之间进行转换?

转载 作者:行者123 更新时间:2023-12-03 12:18:04 25 4
gpt4 key购买 nike

我正在编写一个要从 C# 使用的 F# 互操作类。我认为 F# 有一个从 .NET Tuple<> 类型的隐式转换(类似于 IEnumerable 被视为 seq),所以我写了以下代码:

type MyClass() = 
member this.MyMethod (t: Tuple<int, int>) =
let meaningOfLife (t : int * int) = 42
meaningOfLife t

此代码无法编译并出现以下错误:
错误 FS0001:这个表达式的类型应该是 int * int 但这里的类型是 Tuple

那么如何在 C# 和 F# 之间转换元组(并返回)?

最佳答案

如果您的目标是 .NET 4.0 及更高版本,则无需指定对象 Tuple。 F# 元组会自动编译为元组。您可以使用:

type MyClass() = 
member this.MyMethod (t: int * int) =
let meaningOfLife (t : int * int) = 42
meaningOfLife t

它应该可以从 C# 正常工作。

关于f# - 如何在 F# 和 C# 元组之间进行转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17775590/

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