public virtual int Fill(DataSetservices.Jobs_detailsDataTable dataTable,
global::System.Nullable<global::System.String> fromdate,
global::System.Nullable<global::System.DateTime> todate)
我用 C# 用 dataset.xsd
编写了上面的代码,但它抛出了一个错误:
错误 1
类型"字符串"必须按顺序为不可为空的值类型 将其用作泛型类型或方法中的参数"T" "系统.可为空"
建议我如何使用字符串,因为我想使用字符串而没有别的
string
已经可以为空,因为它是引用类型。 您无需将其包装在 Nullable
中即可获得 null 值。 不仅不需要它,而且根据您收到的错误消息,这甚至是不可能的。 只有不可为空的值类型可以用作 Nullable
的泛型参数。
字符串类是一个类,它不像System.Int32
或其他基元类型那样struct
。它可以保存空值。 Nullable<T>
适用于值类型。
从名称来看,您似乎要存储DateTime
对象。最好DateTime
有自己的类型,即。 DateTime
,对于可为空,您可以使用Nullable<DateTime>
或DateTime?
如果您查看 MSDN 上有关 Nullable
正如 MSDN 文档所说,字符串是一种引用类型,这意味着为 Nullable