在Access数据库中,我有一个名为Display
的列,其类型为Yes/No
。我正在读取表格行并将其存储在名为editDrData[]
的字符串数组中。现在,我想检查它是真是假。我尝试了以下,但它不起作用。什么是正确的方式来做这个检查?将字符串转换为布尔值并检查布尔值
if (Convert.ToBoolean(editDrData[15]) == false)
在Access数据库中,我有一个名为Display
的列,其类型为Yes/No
。我正在读取表格行并将其存储在名为editDrData[]
的字符串数组中。现在,我想检查它是真是假。我尝试了以下,但它不起作用。什么是正确的方式来做这个检查?将字符串转换为布尔值并检查布尔值
if (Convert.ToBoolean(editDrData[15]) == false)
它应该工作。我会说这是字符串或逻辑的格式错误。你需要插入一个断点来检查,但是如果它符合examples from microsoft,那么字符串应该成功转换...(如果你确实在断点处放置了一个断点并在运行时找到该值,那么你将得到更好的答案)
所以,如果editDrData [15]看起来像“真”或“假”(案例无关紧要),那么你上面的代码将工作。
如果editDrData [15]中的字符串实际上是“Yes”或“No”,那么您不能使用Convert.Boolean(string);你将不得不把自己的逻辑,像
if(editDrData[15] == "No")
{
//do stuff here
}
,如果你想传递的字符串Convert.ToBoolean(),它只能是“真”或“假”
或者我认为它会抛出异常。
你是否检查这是作为字符串存储在数据库中的实际值?如果它不是真和假,你不能这样做。
你可以在这种情况下比较字符串
例如,
如果(string.Equals(editDrData [15], “YES ???”,StringComparison.CurrentCultureIgnoreCase)){}
字符串。
顺便说一句:当导入到系统中时,将它作为布尔值存储会更好吗?
您的表格行存储的字符串比较是/否。
bool value;
if (editDrData[15] == "Yes")
{
value = true;
}
else
{
value = false;
}
字符串必须等于(System.Boolean.TrueString) “TRUE” 或(System.Boolean.FalseString) “FALSE”,使用Convert.ToBoolean(串) 如果你要使用这样的功能所有以上项目可以覆盖一些方法,使自己的转换器
什么是数组中元素的实际strinf价值?它是真实的“是”和“否”? –
虽然存储我存储布尔值真和假, – Durga
如果他们是布尔值,为什么你把它们存储在一个字符串数组? –