~ 按位求補符;
! 非邏輯運算子;
% 求餘運算子;
^ 異或位元運算符;
& 且位元運算符;
| 或位元運算符;
* 既可以用作乘法符號,還可以表示為指標;
+ 表示數學運算子相加;
= 用來表示賦值操作;
\ 用於轉義符的開始,如\n表示換行;
” 包裹字串;
’ 包裹單個字元;
< 邏輯運算子小;
> 邏輯運算子大;
, 用於分隔參數;
. 用於表示對象成員選取器或小數點;
/ 表示除以的數學運算子;
# 用於條件編譯或劃分代碼塊。
如:#if #else #define #region #endregion
? 單個常用於表示可空的實值型別,如:int? a=null;
它也可以與很多字元組合使用來表示不同意義。
?? 用於泛型中,在實值型別為空白時指定預設值,
int a = myNullable ?? 100;
//表示如果myNullable不為空白時則將其值賦給a,否則將100賦值給a。
++ 表示自加;
-- 表示自減;
&& 表示邏輯關係且;
|| 表示邏輯關係或;
== 表示邏輯關係相等;
>= 表示邏輯運算子大於或等於;
<= 表示邏輯運算子小於或等於;
<< 表示向左移位操作;
>> 表示向右移位操作;
// 表示單行注釋;
+=,-=,*=,/=,%=,&=,~=,|= 等,它是一個數自身與某個數做相應數學操作的結果。如:a+=10; 完整形式為:a=a+10;
<> 在泛型中大量使用,它用來包裹型別參數。
() 用於對象中:
1、表示函數參數地區;
2、強制類型轉換;
3、制定運算優先順序;
{} 用於對象中:
1、表示程式碼片段範圍;
2、協助C#中某些特殊操作時指定其作用塊,如fixed,using等;
3、另外在字串格式化中,{}和數字組合表示目標字串中待替換子串位置,如:String.Format(“{0} + {1}={3}”, 1,2,3);
[] 這個符號同樣常見,它通常有三種使用方式:
1、一個是用於數組中表示索引位置;
2、一種為添加類型的特性時使用;
3、和this關鍵字組成索引器 this[...];
=> 它是構成Lamda運算式的部分,使得匿名函數的書寫更加簡潔(3.0以後加入)。通常它前面會包含運算式參數部分,後面是運算式的主體部分。
@ 符號的兩種用法:
1、常用在字串開頭,它可以告訴編譯器忽略轉義符;
2、當給變數或屬性取名時,變數名(或屬性名稱)與.net中的關鍵字相同衝突,可以使用“@變數名”來繞過限制。
如:int @int = 123;
//這裡@int變數用Reflector查看IL變數時,看到的是int,而不是@int。
$ 符號的兩種用法:
1、該符號在匿名方法中,編譯器會偷偷用到。
可以通過查看IL代碼瞭解它的命名,但對C#代碼是不可見的。機器產生的私人方法並不顯示在 IntelliSense 中,也不能顯式地調用它。
2、在偵錯工具代碼時,可以使用到該符號。
比如當catch沒有寫上exception變數,如:catch{...}
//要想擷取exception資訊,可以在“即時視窗”或者“監看式視窗”輸入:$exception 即可。
?和: 符號的組合
這裡?和:組成條件運算式,如:int c= a==b?a:b;
<%= 和 %> 組合
用於在HTML代碼中插入.NET程式碼片段。
在Aspx.Net MVC中這個字元組合非常常見,這點類似以前的ASP,這也是有些程式員認為MVC退回到ASP時代的一個原因。
<%@ 和 %> 組合
用來表示ASPX 2.0的Page指令,它一般出現在頁面頂部。
在ASPX.NET頁面或使用者控制項中,有11個指令(注1),指令格式為:<%@ [Directive] [Attribute=Value] %>。
注1:
Asp.Net中,11個頁面或使用者控制項指令為:
Assembly, Control, Implements, Import, Master, MasterType, OutputCache, Page, PreviousPageType, Reference, Register.