逻辑(布尔型)运算符用于对boolean型的结果的表达式进行运算,运算的结果都是boolean型。其运算结果如下所示:

运算符 运算 例子 结果
& AND(与) false&true false
| OR(或) false|true true
^ XOR(异或) false^true true
! NOT(非) !false true
&& AND(短路) false&&true false
|| OR(短路) false||true true

下面对一些比较容易出现问题进行简单解释:

1、“^“ 将计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true时,结果才为true。

2、“&”与”&&“的区别在于,如果使用前者连接,那么无论任何情况下,“&”两边的表达式都会参与计算。如果使用后者连接,当“&&”的左边为false,则将不会计算其右边的表达式。from:http://www.111cn.net/net/net/47469.htm

3、“|”与“||”的区别在于,“|”表示两边任何一个布尔表达式为真,该组合就会返回true值;而对于“||”,跟第二差不多,若左边是true则返回true,若左边是falsh,则看右边,若右边为true则为true否则为falsh。

代码如下 复制代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

int x = 0;
string name = "搜索吧";

//&运算,两个中任何一个为假时则为假
Response.Write("x != 0 & name = /"搜索吧/"的运算结果是:"+ (x != 0 & name == "搜索吧"));

Response.Write("<br>");

//|运算,当两个中任何一个为真时,运算结果为真,否则为加
Response.Write("x != 0 | name = /"搜索吧/"的运算结果是:" + (x != 0 | name == "搜索吧"));

Response.Write("<br>");

//^运算,当且仅当有一个是True时,为真,否则为假
Response.Write("x != 0 ^ name = /"搜索吧/"的运算结果是:" + (x != 0 ^ name == "搜索吧"));
Response.Write("<br>");
Response.Write("x == 0 ^ name = /"搜索吧/"的运算结果是:" + (x == 0 ^ name == "搜索吧"));
Response.Write("<br>");

(www.111cn.net) //!运算,若真则假,若假则真
Response.Write("x != 0 的运算结果是:" + !(x != 0));

Response.Write("<br>");

//&&短路运算,若左边为假则退出,若左边为真,则看右边
Response.Write("x != 0 && name = /"搜索吧/"的运算结果是:" + (x != 0 && name == "搜索吧"));

Response.Write("<br>");
//||短路运算,若左边为真,则为真退出;若左边为假,则看右边,右边为真,则为真,否则为假
Response.Write("x != 0 || name = /"搜索吧/"的运算结果是:" + (x != 0 || name == "搜索吧"));
}
}

运算符

C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。通常允许对枚举进行整型运算,例如 ==、!=、<、>、<=、>=、binary +、binary -、^、&、|、~、++、-- 和 sizeof()。此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。

运算符类别 运算符
基本 x.y
f(x)
a[x]
x++
x--
new
typeof
checked
unchecked
->
一元 +
-
!
~
++x
--x
(T)x
True
False
&
sizeof
乘法 *
/
%
加法 +
-
变换 <<
>>
关系和类型检测 <
>
<=
>=
is
as
相等 ==
!=
逻辑“与” &
逻辑 XOR ^
逻辑“或” |
条件 AND &&
条件 OR ||
条件运算 ?:
赋值 =
+=
-=
*=
/=
%=
&=
|=
^=
<<=
>>=
??

运算符优先级
前++ 前-- +(正号) -(负号)! ~
* / %
+ -
<< >>
< > <= >=
== !=
&
^
|
&&
||
赋值运算
后++ 后--
可重载运算符
C# 允许用户定义的类型通过使用 operator 关键字定义静态成员函数来重载运算符。但不是所有的运算符都可被重载,下表列出了不能被重载的运算符:
运算符 可重载性
+、-、!、~、++、--、true 和 false 可以重载这些一元运算符。
+, -, *, /, %, &, |, ^, <<, >> 可以重载这些二进制运算符。
==, !=, <, >, <=, >= 比较运算符可以重载(但请参见本表后面的说明)。
&&, || 条件逻辑运算符不能重载,但可使用能够重载的 & 和 | 进行计算。
[] 不能重载数组索引运算符,但可定义索引器。
() 不能重载转换运算符,但可定义新的转换运算符(请参见 explicit 和 implicit)。
+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>= 赋值运算符不能重载,但 += 可使用 + 计算,等等。
=、.、?:、->、new、is、sizeof 和 typeof 不能重载这些运算符。

语法
public static Complex operator +(Complex c1, Complex c2)

asp.net运算符之逻辑运算符以及其他运算符的更多相关文章

  1. Java的算数运算符、关系运算符、逻辑运算符、位运算符

    JAVA的运算符,分为四类: 算数运算符.关系运算符.逻辑运算符.位运算符 算数运算符(9):+  -  *  /  %  ++  -- 关系运算符(6):==  !=  >  >=  & ...

  2. [原创]java WEB学习笔记39:EL中的运算符号(算术运算符,关系运算符,逻辑运算符,empty运算符,条件运算符,括号运算符)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. shell之算数运算符、逻辑运算符、关系运算符、布尔运算符、文件测试运算符

    注意事项: (1)bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用: (2)完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Es ...

  4. awk 运算符(算术运算符,赋值运算符,关系运算符,逻辑运算符,正则运算符)说明

    awk作为文本处理优秀工具之一,它有独自丰富的运算符.下面我们一起归纳总结一下,所有运算符. 可以分为:算术运算符,赋值运算符,关系运算符,逻辑预算法,正则运算符. 一.运算符介绍 运算符 描述 赋值 ...

  5. 003-Python3-基础语法-运行方式、代码基础要求、运算符[算数运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符]、运算符优先级

    一.基础语法 参看地址:https://www.runoob.com/python3/python3-tutorial.html 1.1.运行方式 1.文件方式 编写一个hello.py文件, pri ...

  6. day02五大运算符:逻辑运算符、成员运算符、算数、比较、赋值、

    # -*- encoding: utf-8 -*-# print('hello 中国')# 变量# print(10 + 20 + 3 + 15)# print((10 + 20 + 3 + 15)* ...

  7. PHP运算符-算术运算符、三元运算符、逻辑运算符

    运算符是用来对变量.常量或数据进行计算的符号,它对一个值或一组值执行一个指定的操作.PHP的运算符包括算术运算符.字符串运算符.赋值运算符.位运算符.逻辑运算符.比较运算符.递增或递减运算符.错误控制 ...

  8. Showplan 逻辑运算符和物理运算符参考

    本文档已存档,并且将不进行维护. 运算符说明了 SQL Server 如何执行查询或数据操作语言 (DML) 语句. 查询优化器使用运算符生成查询计划,以创建在查询中指定的结果或执行在 DML 语句中 ...

  9. 异或运算符(^)、与运算符(&)、或运算符(|)、反运算符(~)、右移运算符(>>)、无符号右移运算符(>>>)

    目录 异或(^).异或和 的性质及应用总结 异或的含义 异或的性质:满足交换律和结合律 异或的应用 按位 与运算符(&) 按位 或运算符(|) 取 反运算符(~) 右移运算符(>> ...

随机推荐

  1. DebugView 调试工具

    软件标签: DebugView调试工具 用debugview,打开debugview,运行你的debug版本程序,可以定位到源文件的某一行.在vc源码中需要输出的地方用 OutputDebugStri ...

  2. input text框和 checkbox 连带被选中的情况

    <html> <head></head> <body> <ul> <li><input type="checkb ...

  3. curl命令具体解释

    对于windows用户假设用Cygwin模拟unix环境的话,里面没有带curl命令,要自己装,所以建议用Gow来模拟,它已经自带了curl工具,安装后直接在cmd环境中用curl命令就可,由于路径已 ...

  4. XCode7,打包上传的一些警告,及参考处理方法

    1.ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signat ...

  5. HTML+CSS+JS基础知识

    HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...

  6. innodb_io_capacity >=innodb_lru_scan_depth*inoodb_buffer_pool_instances。与 checkpoint

    innodb_lru_scan_depth:每个缓冲池刷脏页的能力 innodb_io_capacity:  iops inoodb_buffer_pool_instances=8 :缓冲池的个数 . ...

  7. Linux中断(interrupt)子系统之一:中断系统基本原理 (图解)

    http://blog.csdn.net/droidphone/article/details/7445825

  8. 分布式缓存技术redis学习(二)——详细讲解redis数据结构(内存模型)以及常用命令

    Redis数据类型 与Memcached仅支持简单的key-value结构的数据记录不同,Redis支持的数据类型要丰富得多,常用的数据类型主要有五种:String.List.Hash.Set和Sor ...

  9. c++ 设计模式9 (Abstract Factory 抽象工厂模式)

    5.2 抽象工厂模式 动机:在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作:同时,由于需求的变化,往往存在更多系列对象的创建工作. 代码示例: 实现利用数据库的业务逻辑,支持多数据库(Sq ...

  10. Tfs服务器迁移(更改IP)后客户端(vs2013)配置方法

    一.前言 公司开发项目需要进驻客户现场,局域网中的tfs代码服务器有时会有修改ip的情况发生.服务器ip修改后在vs2013中更改服务器ip地址非常麻烦,有些时候需要将代码重新进行映射.多次试验后将可 ...