C#笔记整理(if-switch)

    xiaoxiao2021-03-25  127

    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

    转载请注明原文地址: https://ju.6miu.com/read-8348.html

    最新回复(0)