一、三目運算符
三目運算符的一種簡便寫法:
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;
注意點:
- 只能針對基本數據類型使用switch,這些類型包括int、char、string等。
- case標簽必須是常量表達式(constantExpression),如42或者"42"。
- 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語句來替代它。