我知道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. 我能做些什麼來解決java.lang.StringIndexOutOfBoundsException?
- 2. 我能做些什麼來避免NullPointerException?
- 3. 爲什麼我不能將單位參數傳遞給F#類型?
- 4. 我能做些什麼 PHP
- 5. 將obj-c類傳遞給javascript不起作用。我究竟做錯了什麼?
- 6. 將列表傳遞給類
- 7. 爲什麼我不能將數據集傳遞給函數?
- 8. 我能做些什麼來改善我的MVC?
- 9. 將float傳遞給GLSL着色器什麼都不做
- 10. Codesign錯誤,我能做些什麼?
- 11. 爲什麼我在DotNet的依賴地獄,我能做些什麼來擺脫?
- 12. 將列表傳遞給HTML表單Python
- 13. 爲什麼我的代碼不能傳遞給我的div?
- 14. 我能做些什麼來快速安全地存儲密碼?
- 15. 我能做些什麼來獲得webpack的輸出文件
- 16. 我能做些什麼來縮短這段代碼?
- 17. 我能做些什麼來模擬位置:粘性?
- 18. 我可以做些什麼來提高查詢性能?
- 19. 我能做些什麼來優化以下代碼?
- 20. 我能做些什麼來追蹤這個錯誤?
- 21. 如何將制服傳遞給着色器,以及我做錯了什麼?
- 22. TeamCity將什麼參數傳遞給MSBuild?
- 23. D3 JS F傳遞給匿名函數的含義是什麼?
- 24. 如何將xml傳遞給c#表格
- 25. 爲什麼我不能將這個數組傳遞給我的目標類?
- 26. Batch FOR,CALL:爲什麼我不能將令牌傳遞給我的子程序?
- 27. 我可以將參數傳遞給F#FAKE構建腳本嗎?
- 28. 什麼是限制這個JSON解析,我能做些什麼來解決它?
- 29. 爲什麼這樣說錯了類型我能做些什麼來修復它
- 30. 將列表傳遞給params參數
只是想知道,但爲什麼沒有人要編寫C#的列表操作幾個活躍的模式? – Juliet 2008-12-24 18:41:16