zoukankan      html  css  js  c++  java
  • C# 语法技巧_三目运算_switch_case

    一、三目运算符

      三目运算符的一种简便写法:

    bool b = str == "abc" ? false : true;

      当是自身时,实际上别吝啬那一个括号,有一个括号,实际上更容易一看就看懂:

     int i = 0;
     i = (i == 0) ? 1 : 0;

       实际上这样的代码更好看:

    bean.BlogCloud_Url = i > 1 ? BlogCloud_Url : BlogCloud_Url + "&page=" + i;

    二、switch...case...

      switch...case...语法和if...else...的作用一样,但是简洁很多,switch...case...的例子和注意点如下:

    复制代码
        class Program
        {
            static void Main(string[] args)
            {
                string str = "2";
                for (int i = 0; i < 10; i++)
                { 
                    switch (str)
                    {
                        case "1" :
                            Console.WriteLine("第一次");
                            break;
                        case "2" :
                            Console.WriteLine("第二次");
                            break;
                        default :
                            Console.WriteLine("你好");
                            break;
                    }
                }
    
                Console.ReadKey();
            }
        }
    复制代码

      对于以上代码,实际上输出的是 十次 "第二次"。break与外面的for循环无关,只和switch有关,用于阻止贯穿。另外default:后面必须要加break;

      注意点:

    1. 只能针对基本数据类型使用switch,这些类型包括int、char、string等。
    2. case标签必须是常量表达式(constantExpression),如42或者"42"。
    3. case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

      可以连续写下一系列case标签(中间不能间插额外的语句),从而指定自己希望在多种情况下都运行相同的语句。如果像这样写,那么最后一个case标签之后的代码将适用于所有case。

    复制代码
        class Program
        {
            static void Main(string[] args)
            {
                string str = "2";
                for (int i = 0; i < 10; i++)
                { 
                    switch (str)
                    {
                        //1和2都输出第二次
                        case "1" :
                        case "2" :
                            Console.WriteLine("第二次");
                            break;
                        default :
                            Console.WriteLine("你好");
                            break;
                    }
    
                }
    
                Console.ReadKey();
            }
        }
    复制代码

     注意 break语句是用来阻止贯穿的最常见的方式,但也可以用一个return语句或者一个throw语句来替代它。

      

  • 相关阅读:
    HDU4507 吉哥系列故事――恨7不成妻(数位dp)
    UCF Local Programming Contest 2017 G题(dp)
    ICPC Latin American Regional Contests 2019 I题
    UCF Local Programming Contest 2017 H题(区间dp)
    HDU2089 不要62
    AcWing1084 数字游戏II(数位dp)
    UCF Local Programming Contest 2017 F题(最短路)
    Google Code Jam 2019 Round 1A Pylons(爆搜+贪心)
    AcWing1083 Windy数(数位dp)
    Vue
  • 原文地址:https://www.cnblogs.com/mingxuantongxue/p/3791032.html
Copyright © 2011-2022 走看看