c# - 防止字符串转换为 Null 失败的最佳方法

标签 c# sql string parsing null

_callReportCode = reader["Call Report Code"].ToString();

我正在尝试处理调用 ToString 的对象为 NULL 的可能性。 我将使用带有多个变量的上述语句,我不想​​为每个变量单独尝试/捕获...对字符串进行空值检查的最佳方法是什么。

其他数据类型我一直这样做:

int.TryParse(reader["Account Number"].ToString(), out _accountNumber);

在此代码中,“reader”指的是 SqlDataReader,但这对这个问题来说并不重要。

最佳答案

使用 null-coalescing operator : ??

callReportCode = (reader["Call Report Code"] ?? "").ToString();

如果您字段中的数据是 DBNull.Value(而不是 null),这仍然有效,因为 DBNull.Value 是不是null,所以??不会被使用,DBNull.Value.ToString()"",这就是您想要的。

关于c# - 防止字符串转换为 Null 失败的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15835388/

相关文章:

c# - 为什么我不能使用带有显式运算符的接口(interface)?

SQL UPDATE 语句 - 返回成功但 0 行受影响

mysql - 通过具有良好性能的唯一列选择多行

mysql - 为什么 SQL 中的 NULL 不能与 NULL 匹配?

mysql从字符串中获取整个单词所有包含字符的单词

c# - 如何使用反射分析 C# 中的特殊类型约束?

c# - 创建我的第一个 HttpHandler - 不起作用

c# - 在 C# 中打印收据

delphi - 在 Freepascal 编译的 DLL 和 Delphi 编译的 EXE 之间交换字符串 (PChar)

java - 如何在android应用程序中设置可点击的链接?