存储字段的是/否/未知值的正确方法是什么?

时间:2014-04-17 06:20:45

标签: c# boolean

我有一个可能是Yes,No或Unknown的字段。我应该将它存储为可以为空的布尔值吗? Nullable<bool> ..或者创建枚举更好。在C#中执行此操作的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

没有“正确的方法”,你可以通过至少5种不同的方式实现这一目标。但是,对于你所拥有的东西而言,一个可以为空的布尔是最具表现力的,而对于你来说,最短的涉及最少的工作。使用它。

答案 1 :(得分:1)

今天你有一个存储是/否/未知的字段,明天你可能有更多或更少的值。 Nullable<bool>是现有选项中较不广泛的选项,而enum表示更具表现力,不易出错,并且可以在将来扩展。使用它。

答案 2 :(得分:1)

在我看来,NULL意味着除unknown以外的其他内容。 NULL表示没有条目 - 另一方面unknown是故意条目。因此,我会使用具有适当值的enum