捕获 NULL 值的正确语法
Correct syntax for trapping NULL values
我的 C# 代码隐藏如下所示:
if ((DT["BENEFIT_TYPE1"].Equals(0)))
{ DropDownList_Tracking_BenefitType1.SelectedValue = null; }
else if ((DT["BENEFIT_TYPE1"].ToString() = "" ))
{ DropDownList_Tracking_BenefitType1.SelectedValue = null; }
else
{DropDownList_Tracking_BenefitType1.SelectedValue = (DT["BENEFIT_TYPE1"].ToString());}
代码不喜欢 "else if" 行;括号内的所有内容都用红色下划线标出。当我将鼠标悬停在它上面时,弹出消息是:
The left-hand side of an assignment must be a variable, property or
indexer
谁能告诉我如何解决这个问题?我正在尝试考虑数据集中的 NULL 值。
您缺少一个“=”字符。在 C# 中,比较是用双等号“==”完成的。一个意味着赋值,因此你的错误是你不能在 if 语句中赋值。
尝试:
(DT["BENEFIT_TYPE1"].ToString() == "" ))
正如其他人所建议的,这里还有其他事项需要考虑。
要检查字符串是否为 null 或空,您可以使用以下命令:
string.IsNullOrEmpty(yourString)
或者如果您将空 space 字符串视为空
string.IsNullOrWhitespace(yourString)
如果 DT 是您从数据库获取的数据表,则数据库中的空值不是空值或空字符串而是 DbNull,因此您应该这样比较:
DT["field"] == DbNull.Value
或
DT.IsNull("field")
正如 Juan 指出的那样,您需要 ==
,但请注意 NULL
和 ""
是不同的东西。
您可以检查 null
或 是否为空:
else if (string.IsNullOrEmpty(DT["BENEFIT_TYPE1"].ToString()))
我的 C# 代码隐藏如下所示:
if ((DT["BENEFIT_TYPE1"].Equals(0)))
{ DropDownList_Tracking_BenefitType1.SelectedValue = null; }
else if ((DT["BENEFIT_TYPE1"].ToString() = "" ))
{ DropDownList_Tracking_BenefitType1.SelectedValue = null; }
else
{DropDownList_Tracking_BenefitType1.SelectedValue = (DT["BENEFIT_TYPE1"].ToString());}
代码不喜欢 "else if" 行;括号内的所有内容都用红色下划线标出。当我将鼠标悬停在它上面时,弹出消息是:
The left-hand side of an assignment must be a variable, property or indexer
谁能告诉我如何解决这个问题?我正在尝试考虑数据集中的 NULL 值。
您缺少一个“=”字符。在 C# 中,比较是用双等号“==”完成的。一个意味着赋值,因此你的错误是你不能在 if 语句中赋值。
尝试:
(DT["BENEFIT_TYPE1"].ToString() == "" ))
正如其他人所建议的,这里还有其他事项需要考虑。
要检查字符串是否为 null 或空,您可以使用以下命令:
string.IsNullOrEmpty(yourString)
或者如果您将空 space 字符串视为空
string.IsNullOrWhitespace(yourString)
如果 DT 是您从数据库获取的数据表,则数据库中的空值不是空值或空字符串而是 DbNull,因此您应该这样比较:
DT["field"] == DbNull.Value
或
DT.IsNull("field")
正如 Juan 指出的那样,您需要 ==
,但请注意 NULL
和 ""
是不同的东西。
您可以检查 null
或 是否为空:
else if (string.IsNullOrEmpty(DT["BENEFIT_TYPE1"].ToString()))