使用以下C#代码
var MyList = new List<MyClass>();
SomeFSharpFunc(MyList);
在F#端:
let SomeFSharpFunc (MyList: ???What do I put here so I know it's a list) =
我不知道如何表达传入的参数是一个列表。
此外,我是否需要将C#类复制为F#类型?
答案 0 :(得分:4)
您可以使用
open System
let SomeFSharpFunc (MyList: System.Collections.Generic.List<MyClass>) = ...
,但是如果您不需要seq<MyClass>
的全部功能,则应考虑使用System.Collections.Generic.List
(即equivalent to IEnumerable<MyClass>
),尤其是因为在F#中,“列表”通常是指{{ 3}}。
另请参阅a very different data structure。
此外,我是否需要将C#类复制为F#类型?
否。