構(gòu)成C#語言的基本元素
構(gòu)成C#語言的基本元素和構(gòu)成其他語言的基本元素有所區(qū)別蚓聘。
C#跟Java很像条摸,是因?yàn)閮烧叩幕驹卮蟛糠忠恢铝锻拧F渌糠趾芟嗨啤?/p>
1)熟悉C#語言:認(rèn)識所有構(gòu)成C#語言的基本元素胸嘁,并能正確使用常見的基本元素指厌。
2)精通C#語言:能使用所有構(gòu)成C#語言的基本元素篮条,使用常用基本元素,而不犯錯吩抓。并對這些基本元素有深層次的理解涉茧,及其背后運(yùn)行的機(jī)制。
標(biāo)記 Token琴拧,就是對編譯器來說降瞳,有意義的記號嘱支。編譯器可以識別出 token蚓胸。編譯器會忽略注釋和空白,它們對編譯器而言除师,沒有意義沛膳。
關(guān)鍵字(keyword)
構(gòu)成一門編程語言的基本詞匯。C#關(guān)鍵字包含兩種:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/
1) 任何時候都是關(guān)鍵字
2)“上下文關(guān)鍵字”汛聚,只有在上下文語境中才是關(guān)鍵字锹安。
有些關(guān)鍵字有多種用途(以后會講)。
關(guān)鍵字是按邏輯分組的倚舀,自學(xué)時也該按分組學(xué)習(xí)叹哭。
操作符(operator)
就是運(yùn)算符,表達(dá)運(yùn)算思想的符號痕貌。如:+-*/风罩,C#還有一些自己特有的操作符,有些操作符舵稠,其實(shí)是關(guān)鍵字超升,稱為“操作符關(guān)鍵字”。
C#操作符如下:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/index
https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/index
標(biāo)識符(Identifier)
就是名字哺徊,如:變量名室琢,類名,類的成員名(屬性名落追,方法名盈滴,事件名)。
合法的標(biāo)識符指編譯器能夠編譯的標(biāo)識符轿钠,否則會報錯巢钓。
參見C#語言規(guī)范文檔。
通常情況下谣膳,關(guān)鍵字是“被保留”的竿报,不可用作標(biāo)識符。但是
1)允許用字符(如:英文字符继谚,漢語字符等等)烈菌,以及下劃線作為初始字符
2)初始字符后面,可以跟字符,數(shù)字芽世,漢語字符挚赊,等等
3)允許在標(biāo)識符中使用Unicode轉(zhuǎn)義序列,不過僅在處理 a)字符(第 ?2.4.4.4 節(jié))和 b)規(guī)則字符串(第 ?2.4.4.5 節(jié))中處理济瓢。不在其他任何位置處理 Unicode 字符轉(zhuǎn)義(例如荠割,在構(gòu)成運(yùn)算符、標(biāo)點(diǎn)符號或關(guān)鍵字時)
4)允許以“@”字符作為前綴旺矾,以使關(guān)鍵字能夠用作標(biāo)識符蔑鹦。
5)不允許用數(shù)字作為初始字符
6)漢語,德語等等箕宙,也可以做標(biāo)識符
標(biāo)識符命名規(guī)范:合法的標(biāo)識符嚎朽,并不意味著可讀性好。所以標(biāo)識符要有意義柬帕,以便其他人能明白該標(biāo)識符代表什么哟忍。
1)對類命名時,標(biāo)識符要是一個“名詞”
2)對類的成員命名時陷寝,屬性一定是個“名詞”锅很,方法一定是個“動詞”
大小寫規(guī)范:?
1)駝峰法:單詞首字母先小寫再大寫,交替凤跑,用于變量名爆安。 e.g. myVariable
2)Pascal法(帕斯卡命名法):單詞首字母大寫,用于方法名饶火,類名鹏控,名稱空間等。e.g. MyVariable肤寝, WriteLine
區(qū)別于Java当辐,Java要求方法也要用駝峰法命名。
標(biāo)點(diǎn)符號:
不參與運(yùn)算的符號
文本(字面值)
1)整數(shù)
(32位)普通整型 int鲤看, e.g. int x = 2;
(64位)長整型 long缘揪,long y = 2L; (L表示長整型)
位數(shù)越多,能表示的數(shù)字范圍就越廣义桂。2位(00-99)找筝,4位(0000-9999)。
2)實(shí)數(shù)(小數(shù))
(32位)單精度浮點(diǎn)型 float慷吊,e.g.? float x?= 2.0F; (F表示單精度浮點(diǎn)數(shù)袖裕,系統(tǒng)默認(rèn)2.0為雙精度浮點(diǎn)數(shù),一定要加F才能代表單精度浮點(diǎn)數(shù))
(64位)雙精度浮點(diǎn)型 double溉瓶,e.g. double y??= 2.0D; (D表示雙精度浮點(diǎn)數(shù)急鳄,此處已經(jīng)double谤民,去掉D也可以)
3)字符(串)
char 單字符用單引號:e.g. char c?= 'a';??
char,只能代表一個字符疾宏,只能用單引號张足,否則報錯。e.g. char c?= "apple";
4)字符串
string 字符串用雙引號坎藐,可以代表null为牍,單字符,一串字符岩馍。
5)布爾值:true 和 false
6)空值(null)e.g.?string str?= null;
實(shí)際應(yīng)用中碉咆,null引用會報錯“System.NullReferenceException”。要去找丟失的引用兼雄。
注釋與空白:
編譯器會忽略
1) // 單行注釋
2)/*? ...... */ 塊注釋
好的代碼有自解釋性吟逝,除非比較復(fù)雜,才加簡短明了的注釋赦肋。
暫時不用的代碼也可以先注釋掉。
3)空白
e.g.? string? ? ? ? ? str? ? ? ? ?=? ? ? ? ?"apple";
不報錯励稳,但是可讀性差佃乘,VS中,Edit--Advanced--FormateDocument驹尼,點(diǎn)擊后自動調(diào)整趣避。(ctrl+E+D)