C# 系统。版本不为';t在F中实现System.i可比较#
我想对F#中的C# 系统。版本不为';t在F中实现System.i可比较#,c#,.net,f#,icomparable,base-class-library,C#,.net,F#,Icomparable,Base Class Library,我想对F#中的Version对象序列进行排序: 让maxVersion= 版本 |>Seq.max(趣味版->版本) 编译器生成以下错误消息: 类型“(seq->“a)”不支持“比较”约束。例如,它不支持“System.IComparable”接口 当我在Visual studio中点击F12查看Version的元数据时,它说Version只实现了iclonable,而不是IComparable。但是当我转到它时,它说它实现了IComparable以及一些其他接口 F#是否使用了不同版本的.N
Version
对象序列进行排序:
让maxVersion=
版本
|>Seq.max(趣味版->版本)
编译器生成以下错误消息:
类型“(seq->“a)”不支持“比较”约束。例如,它不支持“System.IComparable”接口
当我在Visual studio中点击F12查看Version
的元数据时,它说Version
只实现了iclonable
,而不是IComparable
。但是当我转到它时,它说它实现了IComparable
以及一些其他接口
F#是否使用了不同版本的.NET framework?错误消息告诉您,
(seq->'a)
没有实现可比较的
,这是正确的,因为(seq->'a)
是一个函数,而不是序列
如果查看Seq.max
的签名,它只接受序列作为参数。
移除lambda(有趣的版本->版本)
,它应该就可以了
否则,如果要为排序应用键生成器函数,请改用
Seq.maxBy
Ohh。那几乎太容易了。谢谢。仅供参考,您的(有趣的版本->版本)
可以替换为id
(如果需要的话)哦,是的,这可能很有用,谢谢。