stringの配列からDictionaryへの変換をやってみた
なんとなくやってみました。
元ネタ
C#
var arr = new[] {"1", "one", "2", "two"}; var keys = arr.Where((_, i) => i % 2 == 0); var values = arr.Where((_, i) => i % 2 == 1); var pairs = keys.Zip(values, (k, v) => new { k, v }); var dictionary = pairs.ToDictionary(p => p.k, p => p.v);
F#
Seq.pairwiseが適しているかも。
let arr = [|"1"; "one"; "2"; "two"|] let dictionary = arr |> Seq.pairwise |> Seq.mapi (fun i pair -> i, pair) |> Seq.choose (fun (i, pair) -> if i % 2 = 0 then Some pair else None) |> dict