string myGirlFriend = null;
if (myGirlFriend == null)
{
Console.WriteLine("Please New");
}
else
{
Console.WriteLine("Please Aerate");
}
Console.ReadKey();
布尔类型
运算符 | 类别 | 描述 |
---|---|---|
== | 二元 | 等于 |
!= | 二元 | 不等于 |
< | 二元 | 小于 |
> | 二元 | 大于 |
<= | 二元 | 小于等于 |
>= | 二元 | 大于等于 |
! | 一元 | 逻辑非 |
& | 一元 | 逻辑与 |
| | 一元 | 逻辑或 |
^ | 一元 | 逻辑异或 |
&& | 一元 | 逻辑与 |
|| | 一元 | 逻辑或 |
备注:
bool a = true;
bool b = false;
if (a|b)
{
Console.WriteLine("a|b");
}
if (a||b)
{
Console.WriteLine("a||b");
}
其中两个if语句的效果是一样的,但是"|“运算符需要对a,b同时去判断,而”||“运算符判断第一个a为true就不需要去判断b的值.同理”&“和”&&“是一样的道理,在代码量大的程序中,使用”||“和”&&"是可以提升性能的.
按位运算符
&:按位与
|:按位或
^:按位异或
~:按位取反
大多数代码都不用,但是应该知道它的存在,主要用于高度优化代码
三元运算符?:
bool a = true;
int i = a ? 1 : 2;
Console.WriteLine(i);//此时i为1
判断条件?表达式1:表达式2
若判断条件为真,则执行表达式1
若判断条件为假,则执行表达式2
goto语句
尽量少用。
当你的逻辑非常清晰时,它可以控制什么时候执行哪些代码的一种简单方式。(汇编语言会经常接触)
if语句
int i = 10;
if (i == 1)
{
Console.WriteLine(i);
}
else if (i == 2)
{
Console.WriteLine(i);
}
else
{
Console.WriteLine(i);
}
//此时输出10
if(条件1)
{
代码1
}
else if(条件2)
{
代码2
}
……
else
{
代码n
}
编译器首先对判断条件1,为真,执行代码1;为假,判断条件2,条件2为真,执行代码2,为假,判断……若以上条件都为假,则执行代码n。else在if语句中可以不写。
switch语句
int i = 10;
switch (i)
{
case 1:
Console.WriteLine(1);
break;
case 2:
Console.WriteLine(2);
break;
case 'a':
Console.WriteLine('a');
break;
default:
Console.WriteLine("不符合列举条件");
break;
}
还可以这样:
int i = 2;
switch (i)
{
case 1:
case 2:
Console.WriteLine("1 or 2");
break;
case 'a':
Console.WriteLine('a');
break;
default:
Console.WriteLine("不符合列举条件");
break;
}
if和switch在使用时注意事项
普遍认为switch的性能是高于if的,但是有时候为了代码的阅读方便以及对于判断逻辑的辨别,if的使用频率是比较高的。
例:
bool a=true,b=true,c=false;
if(a&&b&&c)
{
Console.WriteLine("a=true,b=true,c=true");
}
else if(!a&&b&&c)
{
Console.WriteLine("a=false,b=true,c=true");
}
else if(a&&b&&!c)
{
Console.WriteLine("a=true,b=true,c=false");
}
...
else
{
Console.WriteLine("a=false,b=false,c=false");
}
上述代码对a,b,c三个bool变量进行了判断,用if可以直观明了的对其进行排版,代码阅读性高,虽然使用switch也可以实现但是阅读性低。
但是
int i=1;
switch (i)
{
case 1:
Console.WriteLine("1");
break;
case 2:
Console.WriteLine("2");
break;
case 'a':
Console.WriteLine("3");
break;
default:
Console.WriteLine("无");
break;
}
//换成if
if(i == 1)
{
Console.WriteLine("1");
}
else if(i == 2)
{
Console.WriteLine("2");
}
else if(i == 3)
{
Console.WriteLine("3");
}
else
{
Console.WriteLine("无");
}
类似这种情况应该使用switch
switch的查找类似二叉树,if的则是线性
具体使用哪一种方式应该在你的项目中决定
欢迎关注我的微信个人订阅号
我的微博:well火柴
每天多学一点0.0