gpt4 book ai didi

c# - 使用 ??运算符并处理空值

转载 作者:行者123 更新时间:2023-11-30 13:07:37 26 4
gpt4 key购买 nike

我从 SQL Server 2008 数据库返回一个标量值:

string reason = cmd.ExecuteScalar().ToString() ?? : "";

我想确保如果返回 null,则 reason = "" 而不是 null。

我在这一行遇到错误:

Error 3 Invalid expression term ':'

如何解决这个问题?

编辑:

感谢您对冒号所做的更改,现在我在同一行上遇到了这个异常:

string reason = cmd.ExecuteScalar().ToString() ?? "";
System.NullReferenceException occurred
Message="Object reference not set to an instance of an object."

最佳答案

试试这个:

string reason = cmd.ExecuteScalar().ToString() ?? "";

但是这仍然会失败,因为如果.ExecuteScalar() 返回NULL,您已经导致了空引用异常通过对该 NULL 值调用 .ToString()......

所以我猜 ?? 运算符在这里真的帮不了你......做“通常”的舞蹈:

object result = cmd.ExecuteScalar();

if(result != null)
{
reason = result.ToString();
}
else
{
reason = "(NULL value returned)";
}

关于c# - 使用 ??运算符并处理空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6710774/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com