0

我正在编写 sql server 和 firebird 之间的数据同步应用程序。在 firebird 中,由于历史原因,bool 由“Y”或“N”等域提供。现在我想在 bool 和 char(1) 之间创建转换函数,但它应该接受空值。

如果输入参数为 bool 或 string 并且来自 db 的值为 null,这会导致问题吗?

我怎样才能做到这一点?

4

2 回答 2

1

如果您的输入是三态的,而您的输出是双态的,则需要考虑“默认”。如果您只是谈论在 C# 部分中处理可为空的 bool,则可以使用“bool?” 表示一个可为空的布尔值(它在引擎盖下被装箱)。

于 2012-06-14T08:32:42.817 回答
1

使用Nullable bool?

你可以设置

bool? flag = false; // or null 

稍后您可以使用 ?? 操作员

var result = flag ?? false; // this will return false in case of null
于 2012-06-14T08:38:31.950 回答