let dTuples = new Dictionary<int, string * string * int>()
dTuples.Add(1, ("A", "OK", 1))
dTuples.Add(2, ("B", "NOK", 2))
dTuples.Add(3, ("C", "OK", 3))
Run Code Online (Sandbox Code Playgroud)
我想在字典中找到它们在值部分的第二个元素中具有"OK"的项目.我还想将结果转换为元组数组而不使用字典的关键部分.对于上面的例子,我需要这个:
let tuplesOK = [| ("A", "OK", 1); ("C", "OK", 3) |]
Run Code Online (Sandbox Code Playgroud)
如果您提供代码,请同时添加一些解释,以便我更好地理解它!谢谢,约翰
要检查匹配"OK"的第二个元组项:
dTuples |> Seq.filter (fun (KeyValue(_, (_,ok,_))) -> ok = "OK") |> Seq.toArray
Run Code Online (Sandbox Code Playgroud)
获取元组数组(不带键):
dTuples.Values |> Seq.toArray
Run Code Online (Sandbox Code Playgroud)
如果您不需要可变性,可以使用dict [MSDN]运算符更简洁地构建字典.
let dTuples =
dict [
1, ("A", "OK", 1)
2, ("B", "NOK", 2)
3, ("C", "OK", 3)
]
Run Code Online (Sandbox Code Playgroud)
我不会把它变成教程.代码非常明显,任何差距都可以通过快速搜索MSDN来填补.
| 归档时间: |
|
| 查看次数: |
1023 次 |
| 最近记录: |