這是我一邊學習一邊寫下的筆記,如果內容有錯,懇請在下方留言跟我說,我會非常感謝的!!!
運算的結果會與變數型別有關係
int a = 5 / 2;
a = 2
因為變數a的型別int是整數類,C# 會自動省略小數點之後,只留下整數的部分存進變數裡面
string型別也適用於加法(只適用於加法)
string a = "Hello";
string b = " World!";
string c = a + b; 這時string c會儲存Hello World!的字串
接下來要看一個特別的例子
這時的MessageBox會顯示
只有一個的|還有&,在進行判斷時,前後兩個運算元都會評估。
兩個的||和&&,在進行判斷時,只有在必要時才會評估右邊的運算元。
舉例來說:
假 & 真:已經知道第一個是假了,&還是會求出前後運算元的值才進行判斷
假 && 真:第一個已經是假了,結果必定為假,&&不用求出右邊運算元的值就會進行判斷
所以在進行判斷時||跟&&是比較有效率的,比較重要的比較值就放前面囉~
要注意複合指定運算子不包刮遞增(++)及遞減(--)
下面的三個算式結果是一樣的(只有在+1的時候第三條算式才會一樣)
int a =1;
a = a + 1;
a += 1;
a ++;
位元運算子(2進制)
元運算子運算之前要先把10位元轉換成2位元
如果是11就是1011,11 = 8 (3次方) + 2(1次方) + 1(0次方)
再來就套用位元運算子
舉例
5^3 =
0101 5
^0011 3
= 0110 6
左移右移
int x = 31 << 3 就是31*2*2*2 = 248
int x = 31 >> 3 就是31/2/2/2 = 3
左移 1111 1000 = 248
右移 0011 = 3
參考資料
Day08-C#運算式與運算子(+、-、*、/、>、<....等)-來用C#算數學吧!(上)
Day09-C#運算式與運算子(+、-、*、/、>、<....等)-來用C#算數學吧!(下)
C#基礎