使用? string为null或空的运算符和DBNull.Value

时间:2016-07-29 20:44:05

标签: c# sql-server string

我希望以下逻辑成为一个班轮,

string CastString(String str)
{
    if (string.IsNullOrEmpty(str))
    {
       return DBNull.Value.ToString();
    }
    else 
    {
        return str;
    }
}

我试过的是

string.IsNullOrEmpty(str) ? DBNull.Value : str

有没有办法使用??算子,我试过的是

return str ?? DBNull.Value 

但这不起作用

2 个答案:

答案 0 :(得分:3)

三元运算符将使其成为单线

return string.IsNullOrEmpty(str) ? DBNull.Value.ToString() : str;

答案 1 :(得分:1)

你缺少ToString(),但它仍然不会检查空字符串。

return str ?? DBNull.Value.ToString();