如何在 C# 中以优雅的方式测试对象的 null

  • 本文关键字:方式 测试 对象 null c# null
  • 更新时间 :
  • 英文 :


我想测试Output.ScriptPubKey.Addresses数组是否为空,然后将其分配给参数列表。如果它为 null,那么我想将参数值设置为 0 ,否则使用数组中的项目数。

我在下面写的感觉笨拙和冗长,还有更优雅的方式吗?

int addressCount;
if (Output.ScriptPubKey.Addresses == null) { addressCount = 0; } else {
    addressCount = Output.ScriptPubKey.Addresses.Length;
}
var op = new DynamicParameters();
op.Add("@AddressCount", addressCount);

代码曾经是:

op.Add("@AddressCount", Output.ScriptPubKey.Addresses.Length);

但有时Addresses数组是空的。

您希望

将空合并运算符与空条件运算符结合使用:

int addressCount = Output.ScriptPubKey.Addresses?.Length ?? 0;

除非结果为 null,否则将使用 ?? 运算符的左侧,在这种情况下,它将使用 0?.根据 null 进行计算,如果(潜在链)的任何部分的计算结果为 null,则所有部分的计算结果均为 null。 因此,它会短路并允许您编写这样的表达式。

相关内容

  • 没有找到相关文章

最新更新