C# 如何将列表从C传递到F?
我知道f名单和c名单不一样。我需要做什么才能将int列表从c#应用程序传递到f#库?我希望能够在数据进入f代码后对其使用模式匹配。您可以从f项目中引用C程序集。通过引用的程序集公开列表。您可以使用C# 如何将列表从C传递到F?,c#,f#,C#,F#,我知道f名单和c名单不一样。我需要做什么才能将int列表从c#应用程序传递到f#库?我希望能够在数据进入f代码后对其使用模式匹配。您可以从f项目中引用C程序集。通过引用的程序集公开列表。您可以使用 Seq.toList : IEnumerable<'a> -> list<'a> Seq.toList:IEnumerable 转换任何IEnumerable;这只是一个坏主意。你可以传递一个整数序列-它基本上是支持IEnumerable的任何东西 FSharp代码:
Seq.toList : IEnumerable<'a> -> list<'a>
Seq.toList:IEnumerable
转换任何
IEnumerable
;这只是一个坏主意。你可以传递一个整数序列-它基本上是支持IEnumerable
的任何东西
FSharp代码:
let rec FindMaxInList list =
match list with
| [x] -> x
| h::t -> max h (FindMaxInList t)
| [] -> failwith "empty list"
let rec FindMax ( array : ResizeArray<int>) =
let list = List.ofSeq(array)
FindMaxInList list
List<int> myInts = new List<int> { 5, 6, 7 };
int max = FSModule.FindMax(myInts);
let rec FindMaxInList list=
匹配列表
|[x]->x
|h::t->最大h(FindMaxInList t)
|[]->故障与“空列表”
let rec FindMax(数组:ResizeArray)=
let list=list.ofSeq(数组)
FindMaxInList列表
c代码:
let rec FindMaxInList list =
match list with
| [x] -> x
| h::t -> max h (FindMaxInList t)
| [] -> failwith "empty list"
let rec FindMax ( array : ResizeArray<int>) =
let list = List.ofSeq(array)
FindMaxInList list
List<int> myInts = new List<int> { 5, 6, 7 };
int max = FSModule.FindMax(myInts);
List myInts=新列表{5,6,7};
int max=FSModule.FindMax(myInts);
只是想知道,为什么一个人不想编写一些在C#list上运行的活动模式呢?