c# – 如何让ToDictionary在F#中工作?

我有这个C#示例,它将从整数数组创建奇数和偶数的字典:
int[] values = new int[]
{
    1,2,3,5,7
};

Dictionary<int,string> dictionary = 
           values.ToDictionary(key => key,val => (val % 2 == 1) ? "Odd" : "Even");

// display all keys and values.
foreach (keyvaluePair<int,string> pair in dictionary)
{
    Console.WriteLine(pair);
}

输出是:

[1,Odd]
[2,Even]
[3,Odd]
[5,Odd]
[7,Odd]

我希望在F#中使用ToDictionary类似地执行此操作,并且到目前为止这样做:

let values = [| 1; 2; 3; 5; 7 |]

let dictionary = values.ToDictionary( ??? )

// display all keys and values.
for d in dictionary do
    printfn "%d %s" d.Key d.Value

但是我如何在ToDictionary中编写逻辑?

解决方法

像这样:
ToDictionary(id,fun v -> if v % 2 = 1 then "Odd" else "Even")

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...