Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F#将环境变量作为泛型集合获取_F#_Environment Variables - Fatal编程技术网

F#将环境变量作为泛型集合获取

F#将环境变量作为泛型集合获取,f#,environment-variables,F#,Environment Variables,在.NET 4.5环境中,GetEnvironmentVariables()将环境变量作为非泛型的集合.IDictionary返回 是否有任何方法可以将F#中的环境变量作为泛型集合获取?我不确定.NET是否有任何方法可以将环境变量作为类型化泛型集合返回(从.NET 1.1开始就有GetEnvironmentVariables方法,因此它不是泛型的)。如果要自己将结果转换为通用词典,可以执行以下操作: let envVars = System.Environment.GetEnvironme

在.NET 4.5环境中,GetEnvironmentVariables()将环境变量作为非泛型的集合.IDictionary返回


是否有任何方法可以将F#中的环境变量作为泛型集合获取?

我不确定.NET是否有任何方法可以将环境变量作为类型化泛型集合返回(从.NET 1.1开始就有
GetEnvironmentVariables
方法,因此它不是泛型的)。如果要自己将结果转换为通用词典,可以执行以下操作:

let envVars = 
  System.Environment.GetEnvironmentVariables()
  |> Seq.cast<System.Collections.DictionaryEntry>
  |> Seq.map (fun d -> d.Key :?> string, d.Value :?> string)
  |> dict
让环境变量=
System.Environment.GetEnvironmentVariables()
|>序号
|>Seq.map(趣味d->d.键:?>字符串,d.值:?>字符串)
|>口述

这首先将结果转换为一系列的
DictionaryEntry
元素,然后提取键和值并将它们转换为字符串,然后使用内置的
dict
函数构建
IDictionary

|>Map.ofSeq
也是一个选项(我不确定OP是否喜欢
映射,但我喜欢:)。