【发布时间】:2012-09-16 22:34:34
【问题描述】:
我目前正在尝试学习一点 F# 的乐趣。
在 C# 中,我处理来自数据库的复杂数据,这些数据通常必须在一个元素中包含整数、双精度和字符串。 System.Collections.Generic List<T> 非常适合。
我正在尝试探索 F# 中的并行性,但需要一个不可变的 List<T> 才能这样做。这可能吗?语法是否类似于 C# var x = new List<T> ?
谢谢。
我将对其进行编辑以使其更清晰:
在 F# 中,我想创建一个不可变的类或记录列表(应该命名),就像在 C# 中使用 List 一样。这样我就可以在同一个元素中使用分组字符串、整数、双精度数。希望这真的很简单。
【问题讨论】:
-
你想用 F# 并行性做什么?你能说得更具体些吗(举个例子等)?
-
F# 有一个很好的不可变列表类型 - 您可以像
let mylist = 1::b::c::[]一样设置它。像垫一样,我不确定这里真正的问题是什么 -
我建议您重新表述您的问题并提供更多详细信息以获得更有意义的答案。不要害羞
-
对于否决票,您希望我做到多具体,这已经非常清楚我想要实现的目标。我希望如何使用不可变列表完全无关紧要,因为我在这里要做的就是创建一个。
-
这是用于并行化蒙特卡罗模拟,因此基础数据(来自 RNG 的整数或双精度数组)一旦创建就不可更改。
标签: list f# immutability