摘要:
如果你熟悉F#中的list,你可能知道List模块中包含了很多方便快捷的用来处理多种集合类型数据的函数,其实Sequence与List相似,也是拥有着大量此类函数,这些函数可以用来处理任何实现了IEnumerable接口的集合类型。Sequence与List 最大的区别在于Sequence 在任意时刻,内存中仅会存储此Sequence的一个元素,就如同C中的枚举。而List 则需要全部存储,因此,我们使用Sequence可以轻松的创建一个无穷序列,且不会有内存耗尽的危险,而List 则不同了。下面我们来看看Sequence的各种强大的功能。map 和 iter: 这两个函数均需要一个给定函数作 阅读全文
摘要:
总得来说,数据值存储在栈上面的称为值类型,而数据值存储在堆上面的称为引用类型。对于F#而言,每个声明的值都会在创建时被初始化,因为在函数式的编程中,值被声明后就是不可变的。下面看看怎么获取某个值的情况:Unchecked.defaultof<'a>获取'a的默认值typeof<'a>返回描述'a的System.Type对象sizeof<'a>返回'a在栈上的空间大小在F#中,默认所有值是不能更改的,那么怎么样来改变一个值呢,一个方法是用Ref引用单元(主要用于引用类型的更改),还有用mutable关键字(主要用 阅读全文