use*_*285 0 f# containers struct tuples
F#元组和结构之间有什么根本区别.它们都可以容纳多个变量,但我只想知道何时使用另一个变量.
更具体地说,我试图通过一堆函数传递一堆参数,每次都会累积一个新变量.例如,我从param1开始并将其传递给返回的func1(param1,param2).然后将这个元组(或结构)传递给func2,它返回(param1,param2,param3),依此类推.
我目前的想法是这样的:有一个元组,我总是可以持有适量的参数,但是我放弃了数据的统一格式,最后,我必须打包并重新打包一个大约10个元素的元组.使用结构,我有参数一致性的优点,但问题是,我必须在开头指定参数null.
在F#中,使用Tuple<T1, T2>
哪个是引用类型来表示元组.另一方面,结构是值类型,因此它们在堆栈上而不是在堆上分配(有时可能更快).所以我的一般规则是:
KeyValuePair<K, V>
.为了给出轶事证据,在Deedle中我们使用结构作为内部结构(时间序列存储为结构数组),但不适用于使用元组的公共API.
归档时间: |
|
查看次数: |
258 次 |
最近记录: |