C#中的規則:必須遵守(類比法律);規範:推薦遵守(類比道德)
變量命名規則
1 必須以"字母",_(下劃線)或者@開頭
第一命名規則聲明變量
因為VS程式設計工具是世界級的程式開發工具,是以這裡的字母可以是任何國家的語言(被C#的文法所認同的語言),是以第二個變量可以使用中文進行聲明(可以使用,但不推薦使用)
2 以第一規則為基礎,後面可以跟任意的"字母",數字,_(下劃線)
第二命名規則使用,警告不影響程式編譯執行
使用第二規則的注意事項
注意事項1: 變量名不能與C#中的關鍵字相同
不要與C#關鍵字重名
報錯原因,按C#的底層機制将第二個int也當成關鍵字了不符合C#的變量聲明規則
錯誤清單中的錯誤與警告的差別:
錯誤:會導緻程式無法編譯通過,是以不能運作,必須改正
警告:指程式中有些代碼不恰當(如聲明的變量不使用),不會影響程式編譯,在少數情況下會影響程式運作,一般警告也可以忽略不去改正(推薦改正,讓程式編譯沒有一個警告)
注意事項2: C#區分大小寫
//f1與F1表示兩個變量
float f1 = 10f;
float F1 = 10f;
注意事項3: 同一變量名不能重複聲明(先這麼說)
同一作用域範圍内變量名不能重名
變量名與變量值的差別(值類型資料):
變量名:同一作用域範圍内不能相同
變量值:值可以相同也可以不同,不受作用域影響
即使值相同在記憶體中的位址也不相同
變量值在記憶體中的位址
同一變量可以重複指派,隻是之後的指派,會覆寫之前的指派
覆寫前值
行号15:執行到這句代碼時,輸出方法會根據變量名去記憶體中讀取該變量名位址中的資料
行号16:因為使用雙引号,方法則解析為一個字元串而不是變量名,是以按照字元串輸出
行号20:将變量重新指派即将記憶體中該變量名位址中的資料由3改變為6,新值就會覆寫舊值,最後輸出方法讀取到的則是新值
變量的最終值是以什麼時候使用,最終值就是什麼
輸出變量最終值
使用變量之前的任何指派操作都會影響變量最終值,如 f2=6
在使用變量之後的任何指派不影響目前使用變量的最終值,如 f1=3; 除非再次使用 如在行号15 重新輸出 f1 則 f1=6
命名規範
1 聲明的變量名要有意義即要有見名知意的作用(推薦使用對應的英文命名)
類似性别這類隻有兩個值的一般都使用布爾類型;true(男) false(女)
性别英文單詞推薦使用gender,不要使用sex(據說有不好的寓意)
類似身份證号,銀行卡号,學号,工号等不進行計算的數字都使用字元串類型
2 如果變量名使用了縮寫的英文單詞,全部使用大寫
//聲明圓周率的PI
float PI=3.14;
3 駝峰式命名法(Camel)
也叫駱駝式或小駝峰式命名法,是編寫詞組代碼時的一套命名規範即單詞首個字母小寫,其餘的大寫;常用于聲明類的私有字段 如 private string zsName
4 帕斯卡命名法(Pascal)
也叫大駝峰命名法,每個單詞都大寫;如類名,屬性名等
如果所工作的機關有自己的命名規範,以自己機關為準
局部變量
局部變量:在方法内部聲明(定義)的變量稱為局部變量
說明變量還可以聲明在其他地方,比如聲明在類中(稱為成員字段,之後再說)
局部變量
通過反編譯工具檢視程式集中的源代碼
檢視源代碼
1 打開程式集方式之前說過不再贅述
2 檢視最新編譯的程式集 點選B上方按鈕即可重新整理
3 檢視右側源代碼 1)注釋資訊沒了
2)隻聲明未使用的變量也沒了且變量名也被替了;由此印證之前所說的變量名是給程式員使用的,檢視IL代碼解開變量名為num3/num4的疑惑
4 檢視IL代碼(IL本身也是一種程式設計語言)
檢視IL代碼,使用此工具隻為解開C#源代碼的底層實作(淺解即可)
在IL中将聲明的4個變量裝入數組之中,箭頭指向IL代碼中變量賦的值,未被使用的變量使用注釋顔色,被使用的變量使用棕色标注
檢視IL代碼隻為解開變量名的疑惑(以後經常使用檢視其方法底層實作),其他的不必理會
使用VS自帶反編譯工具檢視IL代碼
一般在C槽這個檔案夾下,在右上角搜尋框中輸入ildasm.exe找到
程式集打開方式與上面所說一樣,不再贅述
輕按兩下左側視窗裡面的Main方法,即可打開右側的IL視窗