c#检查/分配变量的习惯用法

c#检查/分配变量的习惯用法,c#,variables,default-value,datarow,validation,C#,Variables,Default Value,Datarow,Validation,我正在编写许多类似于此的代码: DataRow row = <some row queried from database table> string strVariableName = (row["VariableName"] == ) ? "" : row["VariableName"].ToString(); 甚至更好 DEFSTRVAR(VariableName, row, "default string") 有没有办法在C#中做这样的事情。。。或者我想更好的问题是

我正在编写许多类似于此的代码:

DataRow row = <some row queried from database table>
string strVariableName = (row["VariableName"] == )  ?   "" : row["VariableName"].ToString();
甚至更好

DEFSTRVAR(VariableName, row, "default string")

有没有办法在C#中做这样的事情。。。或者我想更好的问题是,“有没有一个标准的习惯用法可以满足这个目的?”(这个目的是为了确保我有非空的值可以使用。)

我想您正在寻找。例如:


我想你是在找那个。例如:

您可以使用运算符

string strVariableName = (row["VariableName"] ?? "").ToString();
如果需要函数,请编写以下内容:

string DEFSTRVAR(string name, DataRow row, string default) // put real type of row !
{
     return (row[name]??default).ToString();
}
您可以使用运算符

string strVariableName = (row["VariableName"] ?? "").ToString();
如果需要函数,请编写以下内容:

string DEFSTRVAR(string name, DataRow row, string default) // put real type of row !
{
     return (row[name]??default).ToString();
}
试试这个:

string strVariableName = (row["VariableName"] ?? string.Empty).ToString();
试试这个:

string strVariableName = (row["VariableName"] ?? string.Empty).ToString();

我不太明白你的意思,但是接线员会吗??工作?我不太明白你的意思,但是接线员会吗??工作?字符串strVariableName=行[“VariableName”]。ToString()??字符串。空@elbillaf-这将对null对象执行ToString()。其他答案都是正确的。如果
row[“VariableName”]
为null,则ToString()将引发异常,否?string strVariableName=row[“VariableName”]。ToString()??字符串。空@elbillaf-这将对null对象执行ToString()。其他答案都是正确的。如果
行[“VariableName”]
为空,则ToString()将引发异常,否?您忘记使用
默认值
参数。您忘记使用
默认值
参数。