gpt4 book ai didi

具有 3 个可能返回值的 C# 合并运算符?

转载 作者:太空宇宙 更新时间:2023-11-03 20:06:31 25 4
gpt4 key购买 nike

只需阅读此运算符 ?? 的规范,因为它占用左侧,如果为 null,则返回右侧的值。

我的问题是,我可以让它返回 3 个可能的值吗?

像这样:

int? y = null;
int z = 2;

int x = y ?? (z > 1 ? z : 0);

这可能吗?

最佳答案

当然 - 您可以像使用任何其他二元运算符一样使用 ??,这意味着您可以在其左侧和/或右侧使用任何表达式。

例如,您可以这样做:

int? a = ...
int? b = ...
int? c = ...
int? d = ...
int? res = (condition_1 ? a : b) ?? (condition_2 ? c : d);

这个表达式将首先评估(condition_1 ? a : b),检查它是否为null,然后使用非空值作为结果,或者评估右侧,并将其作为结果。

您还可以“链接”空合并运算符 ??,如下所示:

int? res =a ?? b ?? c ?? d;

这个表达式的计算从左到右。

关于具有 3 个可能返回值的 C# 合并运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23085067/

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