C#中提供了豐富的運算符,可以幫助我們完成相關的運算和操作。
C#的運算符分類和形式如表1所示。
表1 運算符
類別 |
運算符 |
說明 |
表達式 |
算術 運算符 |
+ |
執行加法運算(如果兩個操作數是字符串,則該運算符用作字符串連接運算符,將一個字符串添加到另一個字符串的末尾) |
操作數1 + 操作數2 |
- |
執行減法運算 |
操作數1 — 操作數2 |
|
* |
執行乘法運算 |
操作數1 * 操作數2 |
|
/ |
執行除法運算 |
操作數1 / 操作數2 |
|
% |
獲得進行除法運算后的余數 |
操作數1 % 操作數2 |
|
++ |
將操作數加 1 |
操作數++ 或++操作數 |
|
-- |
將操作數減 1 |
操作數—或—操作數 |
|
~ |
將一個數按位取反 |
~操作數 |
|
比較 運算符 |
> |
檢查一個數是否大于另一個數 |
操作數1 > 操作數2 |
< |
檢查一個數是否小于另一個數 |
操作數1 < 操作數2 |
|
>= |
檢查一個數是否大于或等于另一個數 |
操作數1 >= 操作數2 |
|
<= |
檢查一個數是否小于或等于另一個數 |
操作數1 <= 操作數2 |
|
== |
檢查兩個值是否相等 |
操作數1 == 操作數2 |
|
!= |
檢查兩個值是否不相等 |
操作數1 != 操作數2 |
|
條件 運算符 |
?: |
檢查給出的第一個表達式 expression 是否為真。如果為真,則計算 operand1,否則計算 operand2。這是唯一帶有三個操作數的運算符 |
表達式? 操作數1:操作數2 |
賦值 |
= |
給變量賦值 |
操作數1 = 操作數2 |
邏輯 運算符 |
&& |
對兩個表達式執行邏輯“與”運算 |
操作數1 && 操作數2 |
|| |
對兩個表達式執行邏輯“或”運算 |
操作數1 || 操作數2 |
|
! |
對兩個表達式執行邏輯“非”運算 |
! 操作數 |
|
強制類型 |
( ) |
將操作數強制轉換為給定的數據類型 |
(數據類型) 操作數 |
成員 |
. |
用于訪問數據結構的成員 |
數據結構.成員 |
快捷運算符 |
+= |
運算結果 = 操作數1 + 操作數2 |
|
-= |
運算結果 = 操作數1 - 操作數2 |
||
*= |
運算結果 = 操作數1 * 操作數2 |
||
/= |
運算結果 = 操作數1 / 操作數2 |
||
%= |
運算結果 = 操作數1%操作數2 |
舉例:
已知:
注意:表達式i++和++i的區別。
在實際運算中,往往有多個運算符參與運算,這時要把握一個問題:優先級與結合性問題。在C#中,優先級和結合性如下表2所示:
表2 優先級和結合性
優先級 |
說明 |
運算符 |
結合性 |
1 |
括號 |
( ) |
從左到右 |
2 |
自加/自減運算符 |
++/-- |
從右到左 |
3 |
乘法運算符 |
* |
從左到右 |
4 |
加法運算符 |
+ |
從左到右 |
5 |
小于 |
< |
從左到右 |
6 |
等于 |
= |
從左到右 |
7 |
邏輯與 |
&& |
從左到右 |
8 |
邏輯或 |
|| |
從左到右 |
9 |
賦值運算符和快捷運算符 |
= += *= |
從右到左 |
新聞熱點
疑難解答