gpt4 book ai didi

F# 元组、System.Tuple 和集合 - 类型约束不匹配?

转载 作者:行者123 更新时间:2023-12-04 20:32:13 32 4
gpt4 key购买 nike

以下代码中的最后两行出现编译器错误?

open System

let s = new System.Collections.Generic.Stack<Tuple<int, int>>()
s.Push( 1, 2) // The type ''a * 'b' is not compatible with the type 'Tuple<int,int>'
s.Push(Tuple.Create(1, 2))
s.Push(Tuple.Create(1, 2))的错误信息

类型约束不匹配。方式
''a * 'b'
与类型不兼容
'元组'
类型 ''a * 'b' 与类型 'Tuple' 不兼容
输入元组 =
静态成员创建: item1:'T1 -> Tuple + 7 重载
全名:System.Tuple

最佳答案

尽管 F# 元组用 System.Tuple 表示在编译形式中,从逻辑语言的角度来看,它们不被视为它的“别名”。
int * intSystem.Tuple<int, int> 不一样就 F# 编译器而言。

只需对 Stack 使用 F# 元组语法通用参数,它将起作用:

let s = new System.Collections.Generic.Stack<int * int>()
s.Push( 1, 2)

关于F# 元组、System.Tuple 和集合 - 类型约束不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43877620/

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