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