在C#中,你可以初始化列表,像這樣:如何使用現有項目初始化F#中的序列?
var list = new List<int> { obj1, obj2, obj3 };
我期待做在F#相似的東西,但不斷收到錯誤:
let list = { obj1, obj2, obj3 }
在F#這可能嗎?
在C#中,你可以初始化列表,像這樣:如何使用現有項目初始化F#中的序列?
var list = new List<int> { obj1, obj2, obj3 };
我期待做在F#相似的東西,但不斷收到錯誤:
let list = { obj1, obj2, obj3 }
在F#這可能嗎?
要創建一個(不可變的)F#列表,你可以寫:
let list = [ obj1; obj2; obj3 ]
有許多其他的選擇。您可以使用[| .. |]
而不是[ .. ]
來創建數組,您也可以編寫允許生成數據的序列表達式 - 與C#迭代器方法類似。有關詳細信息,請參閱:
我試圖得到一個序列,但是自從我將它傳入的方法期望IEnumerable以來,它就起作用了。你知道如何啓動一個Seq嗎? –
@JoshuaBelden - 你可以做'[obj1; obj2; obj3]:> Seq <_>' - 由於'Seq'是一個接口,我不認爲這種'Seq'字面支持 –
啊!神交!我在想[]是數組,seq與System.Collections.Generic.List
的[列表(F#)](http://msdn.microsoft.com/en-us/library/dd233224.aspx )MSDN頁面上有一堆示例。 –