我知道f#列表在c#List中不一樣。我需要做些什麼才能將c#應用程序中的整數列表傳遞給f#庫?我希望能夠在數據進入f#代碼後對數據進行模式匹配。我能做些什麼來將C#列表傳遞給F#?
7
A
回答
3
這是我最終做到的。
的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
升C代碼:
List<int> myInts = new List<int> { 5, 6, 7 };
int max = FSModule.FindMax(myInts);
0
您可以從F#項目中引用C#程序集。通過引用程序集公開您的列表。
8
您可以使用
Seq.toList : IEnumerable<'a> -> list<'a>
任何IEnumerable<'a>
seq
轉換爲F#列表。請注意,F#列表是不可變的;如果你想使用可變列表,你不需要做任何特殊的事情,但是你將無法使用模式匹配。或者,您可以可以定義System.Collections.Generic.List<'a>
的有效模式;這只是一個壞主意。
1
您可以傳遞一系列整數 - 基本上支持IEnumerable<int>
的任何東西。
相關問題
- 1. Rails:不能將變量傳遞給partial,我做錯了什麼?
- 2. 我能做些什麼來解決java.lang.StringIndexOutOfBoundsException?
- 3. 我能做些什麼來避免NullPointerException?
- 4. 爲什麼我不能將單位參數傳遞給F#類型?
- 5. 將int &&傳遞給f(int &&)
- 6. 我能做些什麼 PHP
- 7. 我還能做些什麼來改善這個C++代碼
- 8. 將obj-c類傳遞給javascript不起作用。我究竟做錯了什麼?
- 9. 傳遞參數給.toString()做什麼?
- 10. 將列表傳遞給類
- 11. 爲什麼我不能將兩個bool值傳遞給std :: function?
- 12. 爲什麼我不能將cend()和cbegin()傳遞給count_if?
- 13. 爲什麼我不能將字符串傳遞給@input
- 14. 爲什麼我不能將數據集傳遞給函數?
- 15. 我們如何知道傳遞給UIActivityViewController的數據對象做了些什麼?
- 16. 我能做些什麼來獲得此功能輸出?
- 17. 我能做些什麼來修復我的應用程序?
- 18. 我能做些什麼來改善我的MVC?
- 19. 爲什麼我不能將Type變量傳遞給c#中的關鍵字「default」?
- 20. 將列表傳遞給ack的語法是什麼?
- 21. 在C++中,我能做些什麼來格式化我的輸出?
- 22. 將值傳遞給XContainer.Descendants()的大括號會做什麼?
- 23. 將float傳遞給GLSL着色器什麼都不做
- 24. Codesign錯誤,我能做些什麼?
- 25. 爲什麼我在DotNet的依賴地獄,我能做些什麼來擺脫?
- 26. 我應該用什麼來傳遞參數?在C#列表/數組/對象#
- 27. 將列表傳遞給HTML表單Python
- 28. 爲什麼我的代碼不能傳遞給我的div?
- 29. 我能做些什麼來追蹤這個錯誤?
- 30. 我能做些什麼來縮短這段代碼?
只是想知道,但爲什麼沒有人要編寫C#的列表操作幾個活躍的模式? – Juliet 2008-12-24 18:41:16