gpt4 book ai didi

c# - if 子句中的可选空合并

转载 作者:可可西里 更新时间:2023-11-01 08:11:25 25 4
gpt4 key购买 nike

<分区>

我的一位同事刚刚遇到了一个有趣的问题。我用下面的简单示例代码重现了这个问题。问题是编译器提示 i 在第三行使用时可能没有被赋值。

我知道 GetProperty 不会被执行,如果 onull,那么 i 就不会执行被初始化,但在那种情况下我也不会评估 int i2 = i;。是否有关于可选值或空合并运算符的东西我不知道这与这里相关,或者这只是编译器不够智能的情况,无法知道 i 如果它不被使用没有初始化?

void Test(object o) {
if (o?.GetProperty("Blah", out int i) ?? false) {
int i2 = i;
}
}

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