gpt4 book ai didi

c# - ??运算符(operator) - 在一个类轮条件下使用

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:22 26 4
gpt4 key购买 nike

谁能解释一下下面的语句是如何运作的。我知道 ??如果第一个参数不为 null,则运算符返回第一个参数。但是当我看到?在"file"变量之后。

return file?.ImportStatus ?? ImportStatusEnum.Unknown;

最佳答案

这是null propagation的组合和空合并运算符。

在以下情况下它会产生ImportStatusEnum.Unknown:

  • file is null - 在这种情况下,.ImportStatus 未计算,左侧?? 变为 null,或者
  • file 不是 null,但是 ImportStatusnull - 在这个情况下,?? 的左侧也是 null,因此使用右侧。

如果file 及其ImportStatus 都不是null,那么将使用file.ImportStatus 的值作为整体表达的结果。

关于c# - ??运算符(operator) - 在一个类轮条件下使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44379915/

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