单声道:有没有System.Tuple?

我想在Mono中做一些C#和F#之间的互操作。 Mono C#中是否有System.Tuple? 我可以在Mono.CSharp中看到一个,但这似乎与F#(a’* b’)的类型不同。 所以,

(a)Mono C#中是否有System.Tuple或(b)Mono C#和F#中的元组之间是否存在演员?

是的Mono支持Tuple类型。 我知道它在4.0中,但我已经看到它自2.6版以来的可用性评论。

  • 元组文档

它还取决于您使用的F#编译器的版本。 如果使用F#编译器为.NET 2.0编译F#代码,那么它将使用FSharp.Core.dll for .NET 2.0,其中包含Tuple<..>类的声明。 然后你可以简单地从你的C#项目中引用FSharp.Core.dll ,你会发现那里的元组(它在System命名空间中使它与.NET 4兼容)

我相信Microsoft和F#包的ZIP版本都包含2.0版本。 我不确定与Mono 2.10捆绑的F#版本或Debian版本。

我刚试过

 System.Tuple t2 = new System.Tuple(1, 2); 

它在4.0版本上运行了