1

尝试使用 GetSlice() 方法时出现错误。

cl.Rows.GetSlice( DateTime(2014,12,28,20,0,0), DateTime(2014,12,28,23,0,0))

错误是:此表达式应具有 DateTime 类型选项,但此处具有 DateTime 类型。上述代码中的两个参数(DateTime(2014,12,28,20,0,0)DateTime(2014,12,28,23,0,0) )都会出现此错误

有人可以解释“日期时间选项”类型与“日期时间”类型之间的区别吗?用于上述代码的正确语法是什么?

FsLab 版本(0.3.17)

4

2 回答 2

1

该方法GetSlice需要两个类型DateTime option的参数(编译器会帮助您),但您提供的只是DateTime.

要创建 type 的值't option,请使用构造函数Some

cl.Rows.GetSlice( Some (DateTime(2014,12,28,20,0,0)), Some (DateTime(2014,12,28,23,0,0)) )
于 2016-03-24T18:55:59.890 回答
0

Option是一种类型,它要么封装某种类型的值,要么表示没有值。在 F# 中,有两种方式来编写它的类型:Option<'t>'t option.

using option 背后的主要动机是生成类型保存和无错误的代码 - 它使 using nulls 和 some Exceptions (例如KeyNotFoundExcpetions) 过时了。

于 2016-03-24T18:58:05.637 回答