vb.net到c#转换为IsDBNull不工作

vb.net到c#转换为IsDBNull不工作,c#,C#,以下转换不起作用 错误:“只能选择赋值、调用、递增、递减和新对象 用作陈述” 我需要用C#写的。有什么想法吗?在C中,=是一个赋值运算符,=是比较运算符 删除=并替换为= 假设drow是DataRow objUser.Email = (drow.IsNull("Email") ? String.Empty : drow["Email"].ToString()); ?:是三元运算符,它总是返回一个值。在您的情况下,该值被分配给C#=中的objUser.Email是一个赋值运算符,=是一个比较运算

以下转换不起作用

错误:“只能选择赋值、调用、递增、递减和新对象 用作陈述”

我需要用C#写的。有什么想法吗?

在C中,=是一个赋值运算符,
=
是比较运算符

删除
=
并替换为
=

假设
drow
DataRow

objUser.Email = (drow.IsNull("Email") ? String.Empty : drow["Email"].ToString());
?:
是三元运算符,它总是返回一个值。在您的情况下,该值被分配给C#
=
中的
objUser.Email

是一个赋值运算符,
=
是一个比较运算符

删除
=
并替换为
=

假设
drow
DataRow

objUser.Email = (drow.IsNull("Email") ? String.Empty : drow["Email"].ToString());

?:
是三元运算符,它总是返回一个值。在您的情况下,该值被分配给
objUser.Email

您意外地使用了比较运算符而不是分配运算符

objUser.Email == (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));
应该是,因为你没有做比较,这是一项任务

objUser.Email = (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));
objUser.Email = (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));

您无意中使用了比较运算符而不是赋值运算符

objUser.Email == (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));
应该是,因为你没有做比较,这是一项任务

objUser.Email = (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));
objUser.Email = (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));

在C#变量中使用的是相等运算符而不是赋值运算符。 将
=
更改为
=
,因为您需要的是作业

objUser.Email = (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));
objUser.Email = (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));

在C#变量中使用的是相等运算符而不是赋值运算符。 将
=
更改为
=
,因为您需要的是作业

objUser.Email = (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));
objUser.Email = (Information.IsDBNull(drow("Email")) ? "" : drow("Email"));
试试这个:

objUser.Email = (DBNull.Value == drow("Email")) ? "" : drow("Email"));
请参阅for DbNull-您将在其中找到示例:

来自MSDN

private string AddFieldValue(string label, DataRow row, 
                             string fieldName) 
{                                
   if (! DBNull.Value.Equals(row[fieldName])) 
      return (string) row[fieldName] + " ";
   else
      return String.Empty;
}
试试这个:

objUser.Email = (DBNull.Value == drow("Email")) ? "" : drow("Email"));
请参阅for DbNull-您将在其中找到示例:

来自MSDN

private string AddFieldValue(string label, DataRow row, 
                             string fieldName) 
{                                
   if (! DBNull.Value.Equals(row[fieldName])) 
      return (string) row[fieldName] + " ";
   else
      return String.Empty;
}

如果您正在使用.NET提供的
IsDBNull
功能,则可以删除
信息
。否则,您可能需要检查您的
信息
类是否已添加到项目中。如果您正在使用.NET提供的
IsDBNull
功能,则可以删除
信息
。否则,您可能需要检查您的
信息
类是否已添加到项目中。错误:drow(第二个实例)是一个变量,但与方法一样使用!这是objUser.Email=(drow.IsNull(“Email”)?String.Empty:drow[“Email”].ToString());注意方括号…@AdityaNawandar:是的。从现在开始,如果您需要将代码从C#转换为VB.Net并返回,请使用Err:drow(第二个实例)是一个变量,但它的使用方式与方法相同!这是objUser.Email=(drow.IsNull(“Email”)?String.Empty:drow[“Email”].ToString());注意方括号…@AdityaNawandar:是的。从现在起,如果您需要将代码从C#转换为VB.Net并重新使用