F#で辞書のコンストラクターがありますか(Seq/Listを入力とし、ディクショナリーを出力します)?私は私が何をしたいん次のコードを書かれているが、私は多分それはすでに実装されているだけで好奇心旺盛です(と私はそれを自分で実装する必要はありません)私が知っているF#辞書ビルダーリスト/ Seq
let DictionaryBuilder (keyFunc:'a->'b) (valueFunc:'a->'c) aList =
let dict = new Dictionary<'b,'c>()
aList
|> Seq.iter (fun a -> dict.Add(keyFunc a, valueFunc a))
dict // return
C#では、あなたができること.ToDictionary(System.Linqを使用)
// using System.Collections.Generic;
// using System.Linq;
List<string> example = new List<string> {"a","b","c"};
Dictionary<string,string> output = example.ToDictionary(x => x+"Key", x => x+"Value");
// Output: {"aKey": "aValue", "bKey": "bValue", "cKey": "cValue"}
ありがとうございました。
'dict'が読み取り専用辞書を生成することに注意してください(項目を追加または削除しようとすると例外がスローされます)。これを回避するには、辞書をもう一度Dictionaryコンストラクタに渡してください: '... |> dict |> System.Collections.Generic.Dictionary' – TheQuickBrownFox
ありがとう –