如何在 c# 中使用多个 and 语句

本文关键字:and 语句 | 更新日期: 2023-09-27 17:56:49

我正在做一个频率分析的东西,我希望它自动切换字母。我知道要切换到什么,但是您的代码可以像:

if(a > b && a > c && a > c) { //code }

有人告诉我,如果 a> b,它不会评估代码的其余部分。这是真的吗?

如何在 c# 中使用多个 and 语句

当 .Net 计算&&时,它使用短路:它检查第一个表达式(a > b)和如果它 false 什么都不做,如果是 true 检查第二个(a > c)等等,所以你的情况

  if(a > b && a > c && a > d) { //code }

等于

  if (a > b) 
    if (a > c)
      if (a > d) { //code }
if(a > b && a > c && a > c)

如果a > b为假,则不会验证a > c。因为两者都必须为真才能执行代码。但是,如果a > b为真,那么它也将检查a > c

此外,两次a > c也没有意义。

如果只有一个比较必须为真,则可以使用 || 运算符。

实际上这

称为短路计算,其中不同的语句之间有 AND 运算符,如果一个语句为 false,C# 运行时会将整个表达式计算为 false,然后忽略其余语句计算。

如果你想计算所有表达式,

而不管每个表达式的结果如何,那么使用单个而不是两个&&.它将逐位比较它们,并将强制计算所有语句以确定最终结果。

if(a > b && a > c && a > c)

相反

if(a > b & a > c & a > c)//it will evaluate all the conditions before the final result

有关更多信息,请查看以下内容:链接