将1或0转换为布尔值的好方法是什么?

时间:2009-08-26 10:47:23

标签: .net

我有一个数据库,其中布尔值存储为位(1表示true,0表示false)。将这些转换为DataRow的.Net布尔值的最佳方法是什么? Convert.ToBoolean似乎不起作用。

3 个答案:

答案 0 :(得分:4)

如果数据库中的数据类型为bit,则您根本不需要进行任何转换。数据库驱动程序自动将值读取为布尔值,您所要做的就是取消设置值:

bool value = (bool)row["field"];

答案 1 :(得分:3)

bool flag = (row[0]["Flag"] != DBNull.Value) ? (bool)row[0]["Flag"] : false;

答案 2 :(得分:1)

bool flag = (row[0]["Flag"] != DBNull.Value) ? Convert.ToBoolean(row[0]["Flag"]) : false

应该有效。但是,您可能想要考虑如何处理NULL值的情况,因为它被视为设置为false,您可能希望或不希望如此。