位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

C# ??运算符

提问人:刘团圆发布时间:2020-12-07

    为进一步减少处理可空类型所需的代码量,使可空变量的处理变得更简单,可以使用??运算符。这个运算符称为空接合运算符(null coalescing operator),是一个二元运算符,允许给可能等于null的表达式提供另一个值。如果第一个操作数不是null,该运算符就等于第一个操作数,否则,该运算符就等于第二个操作数。下面的两个表达式的作用是相同的:

    opl ?? op2

    opl == null ? op2 : opl

    在这两行代码中,opl可以是任意可空表达式,包括引用类型和更重要的可空类型。因此,如果可空类型是null,就可以使用??运算符提供要使用的默认值,如下所示:

    int? opl = null;

    int result = opl * 2 ?? 5;

    在这个示例中,opl是null,所以opl*2也是null。但是,??运算符检测到这个情况,并把值5赋予result。这里要特别注意,在结果中放入int类型的变量result不需要显式转换。??运算符会自动处理这个转换。还可以把??表达式的结果传入int?中:

    int? result = opl * 2 ?? 5;

    在处理可空变量时,??运算符有许多用途,它也是一种提供默认值的便捷方式,不需要使用if结构中的代码块或容易引起混淆的三元运算符。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部