C#(七)之逻辑运算符

53 篇文章 1 订阅
22 篇文章 0 订阅

首先说明,算数运算符的优先级大于逻辑运算符。

把这个单独拿出来记录一下,是因为他和PHP不一样。

不能习惯的使用PHP中的那套对于C#的逻辑运算符的逻辑。

1:&& 逻辑与运算符

实例:


bool a = true;
bool c = true;
bool b = false;
bool d = false;
  
if(a && c){
   Console.WriteLine(1);
}
if(a && b){
   Console.WriteLine(2);
}
if(a && d){
   Console.WriteLine(3);
}
if(b && d){
   Console.WriteLine(4);
}

以上的输出结果只有1.重点来了

在PHP中,同真为真,同假也为真
在C#中,同真为真,同假为假。

2:|| 逻辑或运算符

实例:

bool a = true;
bool c = true;
bool b = false;
bool d = false;
  
if(a || c){
   Console.WriteLine(1);
}
if(a || b){
   Console.WriteLine(2);
}
if(a || d){
   Console.WriteLine(3);
}
if(b || d){
   Console.WriteLine(4);
}

以上算式输出结果为123;

这个与PHP中的逻辑是一样的,只要有一个为真就是真。

两个都是假,才为假。

3:! 逻辑非运算符:说白了就是取反

bool a = true;
bool c = true;
bool b = false;
bool d = false;
  
if(!(a || c)){
    Console.WriteLine(1);
}
if(!(a || b)){
    Console.WriteLine(2);
}
if(!(a || d)){
    Console.WriteLine(3);
}
if(!(b || d)){
    Console.WriteLine(4);
}

以上算式结果输出为4

上边已经说过。前三个等式为真,取反之后为假,所以,没有输出。只有最后一个算式,本身为假,取反之后为真。

测试使用代码:我是用的是控制台应用程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace gc
{
    class Program
    {
        /* C#主要的运行函数,就是main函数 */
        static void Main(string[] args)
        {
            bool a = true;
            bool c = true;
            bool b = false;
            bool d = false;
 
            if(!(a || c)){
                Console.WriteLine(1);
            }
            if(!(a || b)){
                Console.WriteLine(2);
            }
            if(!(a || d)){
                Console.WriteLine(3);
            }
            if(!(b || d)){
                Console.WriteLine(4);
            }
        }
    }
}

最后总结一下:
&和&&:
相同点 : 两者都是表达当左右两边操作数都为真时,才为真.
不同点 : &运算符需要判断两边的操作数,而&&运算符则是根据第一个操作数的真假进而判断第二个操作数,也就是说当第一个操作数为假时,就不会再判断第二个操作数了,因为第一个操作数为假也就意味着无论第二个操作数真假,返回的结果都为假.

|和||:
相同点 : 两者都是表达当左右两边操作数有一个为真时,就返回真.
不同点 : |运算符需要判断两边的操作数,而||运算符则是根据第一个操作数的真假进而判断第二个操作数,也就是说当第一个操作数为真时,就不会再判断第二个操作数了,因为第一个操作数为真也就意味着无论第二个操作数真假,返回的结果都为真.

有好的建议,请在下方输入你的评论。

欢迎访问个人博客
https://guanchao.site

欢迎访问小程序:

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值