在 .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
函数进行构建。