我正在尝试将以下C#代码写入F#:
List<string> addresses = File.ReadLines(CsvPath).Select(x => x.Split(';')[0]).Distinct().ToList();
addresses.ForEach(a => Console.WriteLine(a));
这是我想出的:
let addresses = File.ReadLines(CsvPath) |> Seq.iter (fun s1 ->
s1.Split [|';'|].[0]
|> Console.WriteLine
)
但是这将输出System.String []而不是该行的第一个字符串值...
答案 0 :(得分:1)
您需要将s1.Split
的参数放在括号中,以便您实际上在结果上而不是参数上建立索引。
let addresses =
File.ReadLines(CsvPath)
|> Seq.iter (fun s1 ->
s1.Split([|';'|]).[0]
|> Console.WriteLine)