空条件运算符在 if 语句中始终为真 when 应该为假

杰森

使用空条件运算符时,第一个 if 语句将始终输出 True,但第二个 if 语句在使用括号时将输出 False。为什么第一个 if 语句是 True?

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            var test = new Test { Boolean = true };

            //True
            if (test?.Boolean ?? true && 1 == 2)
                Console.WriteLine("True");
            else
                Console.WriteLine("False");

            //False
            if ((test?.Boolean ?? true) && 1 == 2)
                Console.WriteLine("True");
            else
                Console.WriteLine("False");
        }
    }

    public class Test
    {
        public bool? Boolean { get; set; }
    }
}
弗拉基米尔·阿鲁斯塔米安
x ?? y – returns x if it is non-null; otherwise, returns y.

test?.Boolean 在第一种情况下是 x 而 (true && 1 == 2) 是 y。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript if语句在应该为真时返回假

来自分类Dev

“ IN”语句中的“ CASE WHEN”运算符

来自分类Dev

空条件运算符评估为bool不为bool吗?符合预期

来自分类Dev

中断运算符会将while循环条件从“真”变为“假”吗?

来自分类Dev

if 语句中的哪些条件为假

来自分类Dev

Passport.js的isAuthenticated()行为不一致;当应该为真时为假

来自分类Dev

当条件应该评估为假时,Javascript 进入 if 语句

来自分类Dev

我的if-else语句在应该为真时会跳过第一个条件

来自分类Dev

在python条件语句中使用模运算符

来自分类Dev

条件语句中的按位运算符

来自分类Dev

条件语句中的按位运算符

来自分类Dev

条件运算符的值是否为常数(真)?

来自分类Dev

在多个条件if语句中什么条件为假

来自分类Dev

+ !! if语句中的运算符

来自分类Dev

Ruby空条件运算符

来自分类Dev

在多个if语句中检测哪个条件为假

来自分类Dev

为什么使用some方法的三元运算符会使该语句为假?

来自分类Dev

为什么条件语句中的负数为真?

来自分类Dev

如何为类似于空条件运算符的集合创建空条件运算符?

来自分类Dev

将条件运算符解析为字符串并用作条件运算符

来自分类Dev

条件语句中的!preg_match()函数始终为false

来自分类Dev

Django聚合,在when条件下使用AND / OR运算符

来自分类Dev

编译器:如果条件始终为真/假,该怎么办

来自分类Dev

[[ 运算符失败,错误为“预期条件二元运算符”

来自分类Dev

Python:print()语句中的%运算符

来自分类Dev

Python If语句中的运算符

来自分类Dev

Revit语句中的运算符错误

来自分类Dev

C中的IF语句中的运算符++

来自分类Dev

if语句中的按位运算符

Related 相关文章

热门标签

归档