【发布时间】:2011-06-14 19:21:00
【问题描述】:
我有来自 4 个不同来源的多个数据列表,我想根据 ID 将它们合并在一起,最终得到一个新列表,每个 ID 一个,每个来源一个条目.
来自 4 个来源的输出列表中的对象如下所示:
type data = {ID : int; value : decimal;}
所以,例如我会:
let sourceA = [data1, data2, data3];
let sourceB = [data1, data2, data3];
let sourceC = [data1, data2, data3];
let sourceD = [data1, data2, data3];
(我意识到这段代码是无效的,只是想给出一个基本的想法......列表实际上是从数据库中提取和生成的)
然后我想获取 sourceA、sourceB、sourceC 和 sourceD 并将它们处理成一个包含以下对象的列表:
type dataByID = {ID : int; valueA : decimal; valueB : decimal; valueC : decimal; valueD : decimal; }
...这样我就可以在 CSV 中将它们打印出来,第一列是 ID,coulmns 2 - 5 是来自源 A - D 的数据,对应于该行中的 ID。
我对 F# 完全陌生,那么处理这些数据以便我按 ID 匹配所有源数据值的最佳方法是什么??
【问题讨论】: