我正在编写很多看起来与此类似的代码:
DataRow row = <some row queried from database table>
string strVariableName = (row["VariableName"] == ) ? "" : row["VariableName"].ToString();
我想写的是这样的:
string strVariableName = STRCHK(row["VariableName"])
甚至更好,
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();
}
关于用于检查/分配变量的 c# 习语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20002387/