惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - richardzeng

Grid 导出为Excel原来这么简单 自动化测试工作模型 【DotNet 技能系列】8. C#中的If Else If 误用与正确使用 【DotNet 技能系列】7. C#中的字符串比较技巧【待定】 【DotNet 技能系列】5. C#中关系运算符与布尔类型 【DotNet 技能系列】4. C#中数据类型转换 【DotNet 技能系列】3. C#中算术运算符、赋值运算符与类型转换 【DotNet 技能系列】2. C#中+号表示加法运算和连字符 【DotNet 技能系列】VS工具快捷键及常用技巧 【DotNet 技能系列】1. C#基础知识笔记 【DotNet 技能系列】 开篇 Windows Live Writer 工具插件 Visual Studio启动项目设置 Dotnet技能培训学习目标 做正确的事情,把事情做正确与软件工程 POP 邮件收信保存备份在服务器上 提取图像色彩主色调工具 SQL Join 认识误区 Route 常用命令
【DotNet 技能系列】6. C#中逻辑运算符与优先级
richardzeng · 2012-08-28 · via 博客园 - richardzeng

逻辑运算符: &&, ||, !

逻辑表达式:条件表达式1 &&(||) 条件表达式2

&& 运算规则:只有条件表达式1,2都为True时结果才为True

|| 运算规则:只要一个条件表达式为True,结果为True

!运算规则:条件表达式的值为True时,结果为False,值为False是,结果为True

算术运算符、关系运算符、逻辑运算符优先级

A !为单目运算符,优先级比算术运算符、关系运算符高

B. 算术运算符号的优先级比关系、逻辑运算符优先级高

C  逻辑运算符&& 和||的优先级要比关系运算符低!(通常表达式1和表达式2就是关系运算符,所有先进行关系运算,然后进行逻辑运算)

按元划分运算优先级:括号优先级> 一元运算符号优先级>二元运算符号优先级>三元运算符号优先级

// 括号的不同写法
int result = (3+4) * 5;
int result2 = (int) 3.14 + 4; //7, 与double result3 = 3.14 + 4 结果为7.14不同是因为括号的优先级!

按运算符类型划分:括号优先级> 算术运算符> 关系运算符> 逻辑运算符

注意:运算符优先级大于赋值运算符

典雅小筑吧:C#运算符优先级表(http://tieba.baidu.com/f?kz=869790562#

与或的短路问题

与短路:当第一个表达式的值为False时候,第二个表达式不会运行

或短路:当第一个表达式的值为True时候,第二个表达式不会运行。

与或短路的结果,如果表达式中存在变量赋值运算,那么就不会执行运算而得不到想要的结果!

// 与或的短路问题
            int num1 = 10;
            int num2 = 5;
            bool result = ++num1 == 10 && ++num2 > 1; // 与短路,第一个False后面就不会参加运算
            Console.WriteLine("num1 = {0}, num2 = {1}", num1, num2); // num1  = 11, num2 = 5

            bool result2 = ++num1 != 5 || ++num2 > 1; // 或短路,第一个True后面就不会参加运算
            Console.WriteLine("num1 = {0}, num2 = {1}", num1, num2); // num1 = 12, num2 = 5