也许你认为这个问题微不足道但我很好奇你的意见是什么。
我有三个radiobuttons。 "显示蓝色","显示红色"和"全部显示"。
我用可空的布尔值做到了。在数据库中有一个collumn,其中blue为0,red为1所以在metode中我必须将bool转换为int来比较这些值(我在c#中这样做)。当然它可以工作,但我想知道它是否是最好的解决方案。
问题是这种情况下哪种类型最好?可以为空的bool,int,还是字符串?
答案 0 :(得分:2)
bool
只有两个可能的值,true或false。如果您需要表示更多值,则需要以其他方式存储它。
使用空值作为第三个值是一个丑陋的代码黑客。
来自wiki:
记住null意味着什么的好方法 要记住,就信息而言,“缺乏价值”并非如此 与“零值”
相同
也就是说,当您没有值时,将使用null。
在您的情况下,使用enum
将更容易阅读和理解,如果需要,您也可以在以后添加更多选项。
enum MyTypes{
blue = 1,
red = 2,
all = 3
}
在数据库中,enum
成为包含所选选项值的int列。