C#语法基础之第三节
1、類型轉換:
1-1:對于類型兼容的兩種類型之間進行轉換:
大轉小:強制類型轉換 (int => int(double))
小轉大:自動類型轉換 ?(doubl => int )
1-2、對于類型不兼容的兩種類型之間進行轉換:
前提:要使用Convert類進行轉換的值和要轉換得到的目標值之間是可以進行轉換的
string => dounle || string =>int ?等等
1 string str= "123"; 2 int rst_num = Convert.ToInt32(str); 3 Console.WriteLine(rst_num); 4 Console.ReadKey(true); View Code ==> 結果:123?2、++ 和 -- (一元運算符)
++:有前++ 和 后++ 之分
當給變量單獨使用++操作時,不管時前++ 還是后++:其目的都是給變量自身的值加上1
1 int number = 10; 2 //1、后++ 3 number++; 4 Console.WriteLine(number); //==> 11 5 //2、前++ 6 ++number; 7 Console.WriteLine(number); //==> 11 View Code? ? ? ? ? ? ? ?當該運算符參與表達式運算時,就需要考慮到前+還是后+之分。
1 //前++ 是變量先加1 在將運算后的值參與運算 2 int result = 10 + ++number; 3 console.writeline(result); ==> 21 4 console.writeline(number); ==> 11 5 6 //后++ 是先將變量的值參與運算 在將變量自身的值加1 7 int result = 10 + number++; 8 Console.WriteLine(result); //==> 20 9 Console.WriteLine(number); //==> 11 View Code? ? ?--:和 ++ 的原理時一樣的,不同就在于 -- 是將變量自身的值減去1
3、++ 、-- 練習題
(1)
1 int a = 5; 2 int b = a++ + ++a * 2 + --a + a++; 3 Console.WriteLine(a); //=>7 4 Console.WriteLine(b); //=>31 View Code分析:++ / -- 是一元運算符 ,+ - * / % 是二元運算符。一元運算符的優先級要比二元運算符的優先級高。在表達式中,如果同時存在一元運算符和二元運算符要先計算一元,在計算二元
練習1詳細解析:
注意:為了方便描述,解析中僅將加號兩邊的表達式稱為 運算數
a的初始值是5,第一個運算數是a++,后加操作(先參與運算,自身在加1),那么參與表達運算的值就是5 ,此時變量a的值等于原來的值加上1 為 6;第二個運算數時 ++a * 2,先加(先自身加1,在參與運算),那么此時變量a的值就是 6+1 為7 ,參與表達式運算的值就是 7 * 2;第三個運算數是 --a ,先減(先自身減1,在參與運算),那么此時 a的值就是 7 -1 為6,那么參與運算的值為 6 ,最后一個運算數是 a++,后加,(先參與運算,在自身加1),那么參與運算的值就是 6 ,a的值就為 6+1 = 7
(2)
1 int umber = 3; 2 int result = ++number + ++number - number-- + --number * 2; 3 // result 4 + 5 - 5 + 3 *2 <== 參與運算的值 4 // number 4 5 4 3 <== number存儲的值 5 Console.WriteLine(number); // ==>3 6 Console.WriteLine(result); // ==>10 7 Console.ReadKey(); View Code4、++ 和 a= a+1 的效率比較
a=a+1. 先取a的值,放到加法器中,把1放在加法器中,然后計算出結果,放在一個臨時變量中,再把結果賦值給a。
a++, 取a的值和1放到加法器中,計算結果后直接賦值給a。
也就是后者少了一步。所以效率略高。
不過現在的編譯器都做過優化。
a++ a+=1 a=a+1
這三個表達式效率是一樣的
?
?
?
轉載于:https://www.cnblogs.com/Yisijun/p/7450926.html
總結
以上是生活随笔為你收集整理的C#语法基础之第三节的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: thinkphp模板中使用方法
- 下一篇: c# char unsigned_dll