В F# списки не являются экземплярами System.Collections.Generic.List<T> и в отличие от них они неизменяемы.
Списки в F# объявляются в квадратных скобках с перечислением элементов через точку с запятой:
1 |
let lst1 = [10; 20; 30] |
Вместо точки с запятой можно использовать перевод строки:
1 2 3 |
let lst1 = [10 20 30] |
Можно объединять списки с помощью оператора @:
1 2 3 4 |
let lst1 = [10; 20, 30] let lst2 = [40; 50; 60] let lst3 = lst1 @ lst2 // result [10; 20; 30; 40; 50; 60] |
С помощью оператора двойного двоеточия можно добавлять элемент в начало списка:
1 2 |
let lst1 = 10 :: [20; 30] // result [10; 20; 30] |
Модуль List в F# содержит множество методов для обработки списков. Пример:
1 2 |
let result = List.reduce (fun acc i -> i + acc) [1; 2; 3; 4; 5] // 15 |
Тут ещё много чего можно написать хорошего про списки в F#, но с моими текущими знаниями лучше тут особо не расписываться, так как могу много ошибок наделать.