asp.net运算符之逻辑运算符以及其他运算符介绍与实例_实用技巧

逻辑(布尔型)运算符用于对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,则将不会计算其右边的表达式。

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>");

        //!运算,若真则假,若假则真
        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)

时间: 2024-09-18 22:30:30

asp.net运算符之逻辑运算符以及其他运算符介绍与实例_实用技巧的相关文章

asp.net TreeView递归循环子节点生成树形菜单实例_实用技巧

本文实例讲述了asp.net TreeView递归循环子节点生成树形菜单的方法.分享给大家供大家参考,具体如下: 这里主要用到递归循环获取子结点 /// <summary> /// 生成根节点 /// </summary> /// <param name="treeview"></param> protected void BindTreeView(long ID, TreeView treeview) { DataTable dt =

Asp.Net Core 通过中间件防止图片盗链的实例_实用技巧

一.原理 要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件.换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址.有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面.如果想对自己的网站进行防盗链保护,则需要针对不同的情况进行区

ASP.NET 广告控件AdRotator的使用方法与实例_实用技巧

adRotator.aspx,在ASP.NET页面中创建一个AdRotator服务器控件,将广告XML文件连接到这个控件.使用以下服务器控件标记来完成 复制代码 代码如下: <asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile="~/XMLFile.xml" /> 生成广告的代码 复制代码 代码如下: adRotator.aspx.csusing System;

ASP.NET中用js取CheckBoxList中值的方法实例_实用技巧

做的一些项目都比较小,而且时间紧,有好多东西都没来得急总结,趁这会还有点时间把前面项目中的用到的知识点分享下,只为以后方便使用.前台页面代码 复制代码 代码如下: <!--关键字-->    <div id="keyWordsDiv" style="border: 2px solid #6FA1D9; display: none; position: absolute;        top: 0px; left: 0px; width: 260px; he

Asp.Net FckEditor在web.config中配置的具体实例_实用技巧

1.开发网站过程中fck配置:1<appSettings>2    <add key="FCKeditor:BasePath" value="~/fckeditor/"/>3    <add key="FCKeditor:UserFilesPath" value="/[网站名,如:OsChina]/Files/"/>4</appSettings>2.发布网站时修改fck配置:1&

ASP.NET设计网络硬盘之查看文件夹实现代码_实用技巧

就像操作本地的计算机一样,需要为每个网络用户提供各自的一块硬盘空间,用户登录后便可以对自己的空间进行管理.管理是多方面的,首先用户应该能看到自己文件夹下的所有内容,另外需要提供多级文件夹目录的支持. 下面要介绍的实例包括"网上硬盘"的许多功能,将一步步为大家进行介绍.首先创建工程实例,然后进行主界面的设计,最后对各个功能的实现分别进行介绍. 新工程创建 新工程创建的步骤如下: (1) 打开MicroSoft Visual Studio.NET应用程序. (2) 选择"文件&q

ASP.NET中MD5与SHA1加密的几种方法_实用技巧

MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数).不管是md2.md4还是md5,它们都需要获得一个随机长度的信息并产

asp.net继承IHttpHandler接口实现给网站图片添加水印功能实例_实用技巧

本文实例讲述了asp.net继承IHttpHandler接口实现给网站图片添加水印功能.分享给大家供大家参考,具体如下: 先展示图片效果: 1. 在App_Code下添加类文件,命名为ImageSY 文件内容如下 public class ImageSY : IHttpHandler { public ImageSY() { // //TODO: 在此处添加构造函数逻辑 // } #region IHttpHandler 成员 public bool IsReusable { get { ret

ASP.NET笔记之 控件与母板的区别分析_实用技巧

1.ASP.NET的好坏处 CodeBehind:"前aspx后cs"的模式,(1.aspx(控件定义.html.css)控制页面长相,cs控制程序逻辑aspx就是模板引擎,不需要再去寻找第三方的模板引擎(2.aspx中调用cs的成员级别必须是protected或者public不能是private因为当前this执行的是当前的子类(通过反编译查看) 2. Literal: Mode属性,避免XSS攻击 TextBox:AutopostBack=true 焦点离开Textbox提交表单A