.NET 4.5 では、 Environment.GetEnvironmentVariables()は環境変数を非ジェネリックCollections.IDictionaryとして返します。
F# で環境変数をジェネリック コレクションとして取得する方法はありますか?
.NET 4.5 では、 Environment.GetEnvironmentVariables()は環境変数を非ジェネリックCollections.IDictionaryとして返します。
F# で環境変数をジェネリック コレクションとして取得する方法はありますか?
.NETに、型付きジェネリックコレクションとして環境変数を返すメソッドがあるかどうかはわかりません(このGetEnvironmentVariables
メソッドは.NET 1.1から存在しているため、ジェネリックではありません)。結果を自分で一般的な辞書に変換したい場合は、次のようにすることができます。
let envVars =
System.Environment.GetEnvironmentVariables()
|> Seq.cast<System.Collections.DictionaryEntry>
|> Seq.map (fun d -> d.Key :?> string, d.Value :?> string)
|> dict
これは、最初に結果を要素のシーケンスに変換しDictionaryEntry
、次にキーと値を抽出して文字列にキャストし、IDictionary<string, string>
組み込み関数を使用してビルドしdict
ます。