用于检查/分配变量的 c# 习语

标签 c# variables default-value datarow validation

我正在编写很多看起来与此类似的代码:

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/

相关文章:

c# - 如何使用 Unity 一次注入(inject)两个实现?

C# ListView 索引和列到字符串

c# - 在 Blazor Web 程序集中 token 过期时间自动注销

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - Magento:添加自定义 EAV 属性,在创建实体时使用其默认值自动填充

c# - 使用多个定界符拆分文件名

c++ - 如何使用用户输入的变量来定义另一个变量

python - 如何处理用 Pandas 导入的数据?

java - JOOQ 忽略具有默认值的数据库列

c++ - 在 C++ 中通过引用传递时参数的默认值