gpt4 book ai didi

c# - if语句多条件和匹配多值的区别

转载 作者:行者123 更新时间:2023-11-30 22:01:54 24 4
gpt4 key购买 nike

我在做某事时发现了这个问题。

假设:

Result = KeyValuePair<bool,bool>;

我使用 if 语句根据结果值做一些工作..

1:

if (Result.Key == false && Result.Value == true)
{
//Do Some Work
}

2:

if (Result.Key == Result.Value == false)
{
//Do Other Work
}

但我发现它同时使用了 if Result.Key=false !!

这是为什么?

在数字 2 中:Result.Value = true,因此我认为该条件不适用于这种情况。Number 2 Statement 不等于 (Result.Key = false && Result.Value==false) 吗?!

为什么在 Result.Value==true 时使用它?

PS:我知道我可以使用 (Else If),但我只想知道发生了什么..

谢谢。

最佳答案

if (Result.Key == Result.Value == false)
{
//Do Other Work
}

这和

是一样的
if ((Result.Key == Result.Value) == false)
{
//Do Other Work
}

相同
if (Result.Key != Result.Value)
{
//Do Other Work
}

除非我感到困惑并且 (Result.Key == Result.Value == false) 实际上与 (Result.Key == (Result.Value == false) ),在本例中仍然是 Result.Key != Result.Value。这很令人困惑,所以请永远不要链接相等运算符。它不会像您期望的那样工作。

您可以在这里查看详细的规则:http://msdn.microsoft.com/en-us/library/126fe14k.aspx

关于c# - if语句多条件和匹配多值的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27346881/

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