C#基本語(yǔ)法 網(wǎng)站建設(shè)與管理_第1頁(yè)
C#基本語(yǔ)法 網(wǎng)站建設(shè)與管理_第2頁(yè)
C#基本語(yǔ)法 網(wǎng)站建設(shè)與管理_第3頁(yè)
C#基本語(yǔ)法 網(wǎng)站建設(shè)與管理_第4頁(yè)
C#基本語(yǔ)法 網(wǎng)站建設(shè)與管理_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第5章C#根本語(yǔ)法網(wǎng)站建設(shè)與管理課件 其次,在較大的編程工程中聲明自己的命名空間可以幫助控制類名稱和方法名稱的范圍。使用namespace關(guān)鍵字可聲明命名空間,用于聲明一個(gè)范圍,如例如一和例如二所示。5.1命名空間5.1命名空間 其次,在較大的編程工程中聲明自己的命名空間可以幫助控制類名稱和方法名稱的范圍。使用namespace關(guān)鍵字可聲明命名空間,用于聲明一個(gè)范圍,如例如一和例如二所示。5.1命名空間 在兩個(gè)或更多的聲明中定義一個(gè)命名空間是可以的。例如3將兩個(gè)類定義為MyCompany命名空間的一局部。5.1命名空間例如4顯示了如何在嵌套的命名空間中調(diào)用靜態(tài)方法。1簡(jiǎn)單類型2變量及其作用域5.2類型和變量保

字System命名空間中的名字字

節(jié)

數(shù)取值范圍sbyteSystem.Sbyte1-128~127byteSystem.Byte10~255shortSystem.Int162-32768~32767ushortSystem.UInt1620~65535intSystem.Int324-2147483648~2147483647uintSystem.Uint3240~4292967295longSystem.Int648-9223372036854775808~9223372036854775808ulongSystem.UInt6480~18446744073709551615charSystem.Char20~655351簡(jiǎn)單類型1簡(jiǎn)單類型保

字System命名空間中的名字字

節(jié)

數(shù)取值范圍floatSystem.Single43.4E-38~3.4E+38doubleSystem.Double81.7E-308~1.7E+308boolSystem.Boolean

(true,false)decimalSystem.Decimal16±1.0×10-28~7.9×1028stringSystem.String

一組字符續(xù)表

1簡(jiǎn)單類型說明:

表中一些變量名稱前面的u是unsigned的縮寫,表示不能在這些類型的變量中存儲(chǔ)負(fù)號(hào)。當(dāng)然除了整數(shù)之外,還可以存儲(chǔ)浮點(diǎn)數(shù)。可以使用的浮點(diǎn)數(shù)變量類型有float、double、decimal、char、bool和string類型。1簡(jiǎn)單類型1.變量命名 與其他語(yǔ)言一樣,不能把任意序列的字符作為C#的變量名。根本的變量命名規(guī)那么如下:2變量及其作用域2變量及其作用域2變量及其作用域2.變量聲明和賦值 要使用變量,首先需要聲明它們,即給變量指定名稱和類型。聲明了變量后,就可以把它們用作存儲(chǔ)單元,存儲(chǔ)聲明了數(shù)據(jù)類型的數(shù)據(jù)。

聲明變量的C#語(yǔ)法是指定類型和變量名,如下所示: C#程序使用類型聲明〔typedeclaration〕創(chuàng)立新類型。類型聲明指定新類型的名稱和成員。2變量及其作用域2.變量聲明和賦值

聲明變量最簡(jiǎn)單的格式為:

數(shù)據(jù)類型名稱

變量名列表;

2變量及其作用域2.變量聲明和賦值 注意,變量在使用前,必須初始化上面的變量,聲明語(yǔ)句可以用作初始化語(yǔ)句。在工程下添加如下代碼:

上面的代碼中完成了3項(xiàng)任務(wù):〔1〕聲明兩個(gè)變量;〔2〕給這兩個(gè)變量賦值;〔3〕將兩個(gè)變量的值輸出到控制臺(tái)上。1隱式轉(zhuǎn)換2顯式轉(zhuǎn)換5.3類型轉(zhuǎn)換轉(zhuǎn)換原類型轉(zhuǎn)換新類型sbyte到short、int、long、float、double或decimalbyte到short、ushort、int、uint、long、ulong、floatdouble或decimalshort到int、long、float、double或decimalushort到int、uint、long、ulong、float、double或decimalint到long、float、double或decimaluint到long、ulong、float、double或decimallong到float、double或decimalulong到float、double或decimalchar到ushort、int、uint、long、ulong、float、double或decimalfloat到double1隱式轉(zhuǎn)換表5.2隱式轉(zhuǎn)換表1.顯式轉(zhuǎn)換的概念和根本類型2顯式轉(zhuǎn)換2.使用convert命令進(jìn)行顯式轉(zhuǎn)換2顯式轉(zhuǎn)換2.使用convert命令進(jìn)行顯式轉(zhuǎn)換 其中,var可以是各種類型的變量〔如果這些命令不能處理該類型的變量,編譯器會(huì)告訴用戶〕。注意,如表5.4所示,轉(zhuǎn)換的名稱略不同于C#類型名稱,例如,要轉(zhuǎn)換為int,應(yīng)使用Convert.ToInt32()。為什么會(huì)出現(xiàn)如此情況?這是由于這些命令來自于.NETFramework的System命名空間而不是C#本身,這樣它們就可以在除C#之外的其他.NET兼容語(yǔ)言中使用了。 例如,如果使用Convert.ToDouble()把字符串Number轉(zhuǎn)換為一個(gè)double值,執(zhí)行代碼,就會(huì)彈出如圖5.1所示的對(duì)話框。2顯式轉(zhuǎn)換2.使用convert命令進(jìn)行顯式轉(zhuǎn)換

2顯式轉(zhuǎn)換

由對(duì)話框內(nèi)容可看出執(zhí)行失敗。為了成功執(zhí)行這種類型的轉(zhuǎn)換,所提供的字符串必須是數(shù)值的有效表達(dá)方式,該數(shù)還必須是不會(huì)溢出的數(shù)。1枚舉類型2結(jié)構(gòu)3數(shù)組5.4復(fù)雜變量類型 枚舉類型〔也稱為枚舉〕為定義一組可以賦給變量的命名整數(shù)常量提供一種有效的方法。例如,假設(shè)必須定義一個(gè)變量,該變量的值表示一周中的一天。該變量只能存儲(chǔ)7個(gè)有意義的值。假設(shè)要定義這些值可以使用枚舉類型。枚舉類型是使用enum關(guān)鍵字聲明的。 默認(rèn)情況下,枚舉類型中每個(gè)元素的根底類型是int??梢允褂妹疤?hào)指定另一種整數(shù)值類型,例如:1枚舉類型以下是使用枚舉而不使用數(shù)值類型的好處:〔1〕明確為客戶端代碼指定哪些值是變量的有效值?!?〕在VisualStudio中,IntelliSense列出定義的值。1枚舉類型 在下面的例如中,定義了Days枚舉的另一個(gè)版本,命名為Days2。Days2具有Flags特性,且它的每個(gè)值都是2的假設(shè)干次冪,指數(shù)依次遞增,這樣將能夠創(chuàng)立值為Days2.Tuesday和Days2.Thursday的Days2變量。1枚舉類型 假設(shè)要在某個(gè)枚舉上設(shè)置標(biāo)志,請(qǐng)使用按位OR運(yùn)算符,例如:1枚舉類型 假設(shè)要確定是否設(shè)置了特定標(biāo)志,請(qǐng)使用按位AND〔與〕運(yùn)算,例如:1枚舉類型 結(jié)構(gòu)是一種值類型。創(chuàng)立結(jié)構(gòu)時(shí)結(jié)構(gòu)賦值到的變量保存該結(jié)構(gòu)的實(shí)際數(shù)據(jù)。將結(jié)構(gòu)賦給新變量時(shí)將復(fù)制該結(jié)構(gòu)。因此,新變量和原始變量包含同一數(shù)據(jù)的兩個(gè)不同的副本。對(duì)一個(gè)副本的更改不影響另一個(gè)副本。 下面的例如在ProgrammingGuide命名空間的頂級(jí)使用3個(gè)成員定義了MyCustomClass。在Program類的Main方法中創(chuàng)立了MyCustomClass的一個(gè)實(shí)例〔對(duì)象〕,并使用點(diǎn)表示法訪問該對(duì)象的方法和屬性。2結(jié)構(gòu)2結(jié)構(gòu)2結(jié)構(gòu) 像類一樣結(jié)構(gòu)〔struct〕是能夠包含數(shù)據(jù)成員和函數(shù)成員的數(shù)據(jù)結(jié)構(gòu),但是與類不同,結(jié)構(gòu)是值類型,不需要堆分配。結(jié)構(gòu)類型的變量直接存儲(chǔ)該結(jié)構(gòu)的數(shù)據(jù),而類類型的變量那么存儲(chǔ)對(duì)動(dòng)態(tài)分配的對(duì)象的引用。結(jié)構(gòu)類型不支持用戶指定的繼承,并且所有結(jié)構(gòu)類型都隱式地從類型object繼承。

結(jié)構(gòu)對(duì)于具有值語(yǔ)義的小型的數(shù)據(jù)結(jié)構(gòu)特別有用。復(fù)數(shù)、坐標(biāo)系中的點(diǎn)或字典中的“鍵-值〞對(duì)都是結(jié)構(gòu)的典型例如。對(duì)小型數(shù)據(jù)結(jié)構(gòu)而言,使用結(jié)構(gòu)而不使用類會(huì)大大節(jié)省應(yīng)用程序分配的內(nèi)存量。 數(shù)組是一種數(shù)據(jù)結(jié)構(gòu),它包含假設(shè)干相同類型的變量。數(shù)組是使用類型聲明的:數(shù)組具有以下屬性:3數(shù)組一維數(shù)組3數(shù)組〔案例〕多維數(shù)組:3數(shù)組〔案例〕在數(shù)組聲明時(shí),可以對(duì)數(shù)組元素進(jìn)行賦值3數(shù)組〔案例〕 表達(dá)式〔expression〕由操作數(shù)〔operand〕和運(yùn)算符〔operator〕構(gòu)成。表達(dá)式的運(yùn)算符指示對(duì)操作數(shù)進(jìn)行什么樣的運(yùn)算。運(yùn)算符的例如包括+、-、*、/和new。操作數(shù)的例如包括文本〔literal〕、字段、局部變量和表達(dá)式。假設(shè)表達(dá)式中包含多個(gè)運(yùn)算符,運(yùn)算符的優(yōu)先級(jí)〔precedence〕控制各運(yùn)算符的計(jì)算順序。例如,表達(dá)式x+y*z按x+(y*z)計(jì)算,因?yàn)?運(yùn)算符的優(yōu)先級(jí)高于+運(yùn)算符。5.5表

達(dá)

式1.表達(dá)式分類

5.5表

達(dá)

式(1)一個(gè)數(shù)值。每個(gè)數(shù)值都有相應(yīng)的類型。

(2)一個(gè)變量。每個(gè)變量都有相關(guān)的類型,也就是變量聲明的類型。

(3)一個(gè)命名空間。通過這種歸類的一個(gè)表達(dá)式只能表現(xiàn)為一個(gè)成員訪問的著手部分。2.表達(dá)式的數(shù)值

5.5表

達(dá)

1)變量的數(shù)值就是當(dāng)前存儲(chǔ)在由變量指定的存儲(chǔ)位置的數(shù)值。一個(gè)變量必須在它的數(shù)值可以被獲得前明確賦值,否則就會(huì)產(chǎn)生一個(gè)編譯時(shí)的錯(cuò)誤。

(2)屬性訪問表達(dá)式的數(shù)值通過調(diào)用屬性的get訪問符來獲得。如果屬性沒有g(shù)et訪問符,就會(huì)產(chǎn)生錯(cuò)誤。否則,就會(huì)執(zhí)行一個(gè)函數(shù)成員的調(diào)用,而且調(diào)用的結(jié)果變?yōu)閷傩栽L問表達(dá)式的數(shù)值。

(3)索引訪問表達(dá)式的數(shù)值通過調(diào)用索引的get訪問符來獲得。如果索引沒有g(shù)et訪問符,就會(huì)產(chǎn)生錯(cuò)誤。否則,就會(huì)執(zhí)行一個(gè)與屬性訪問表達(dá)式相關(guān)的參數(shù)列表的函數(shù)成員的調(diào)用,而且調(diào)用的結(jié)果變?yōu)閷傩栽L問表達(dá)式的數(shù)值。3.操作符

5.5表

達(dá)

式(1)一元操作符。(2)二元操作符。(3)三元操作符。4.操作符優(yōu)先級(jí)和結(jié)合順序

5.5表

達(dá)

式4.操作符優(yōu)先級(jí)和結(jié)合順序

5.5表

達(dá)

式4.操作符優(yōu)先級(jí)和結(jié)合順序

當(dāng)一個(gè)操作數(shù)在兩個(gè)有相同優(yōu)先級(jí)的操作符中間時(shí),操作符的結(jié)合順序控制操作按下面要求實(shí)現(xiàn):5.5表

達(dá)

式(1)除了賦值操作符,所有二元操作符都是左結(jié)合的,意思就是操作從左向右完成。例如,x+y+z被求值為(x+y)+z。

(2)賦值操作符和條件操作符都是右結(jié)合的,意思就是操作從右向左完成。例如,x=y=z被求值為x=(y=z)。優(yōu)先級(jí)和結(jié)合順序可以通過使用括號(hào)來控制。如x+y*z先把y和z相乘,然后再把結(jié)果和x相加,但是(x+y)*z先把x和y

相加,然后再把結(jié)果和z相乘。

5.操作符重載

5.5表

達(dá)

式所有一元和二元操作符都有預(yù)定義的執(zhí)行方式,在任何表達(dá)式中都會(huì)自動(dòng)實(shí)行。除了預(yù)定義的執(zhí)行方式外,用戶定義的執(zhí)行方式可以通過包括類和結(jié)構(gòu)中的操作符聲明來引入。用戶定義的操作符執(zhí)行通常比預(yù)定義操作符聲明的優(yōu)先級(jí)高,只有當(dāng)沒有可使用的用戶定義的操作符執(zhí)行存在時(shí)才會(huì)考慮預(yù)定義的操作符執(zhí)行。

可重載一元操作符有:+、-、!、~、++、--、true、false。

可重載二元操作符有:+、-、*、/、%、&、|、^、<<、>>、==、!=、>、<、>=、<=。

只有上面列出的操作符可以被重載。另外,不能重載成員訪問、方法調(diào)用或=、&&、||、?:、new、typeof、sizeof和is操作符。當(dāng)一個(gè)二元操作符被重載,相應(yīng)的賦值操作符也被隱式地重載。例如,一個(gè)操作符*的重載同時(shí)也是操作符*=的重載。注意賦值操作符自己〔=〕不能被重載。一個(gè)賦值通常把一個(gè)數(shù)值的位方式的賦值放到變量里。

1選擇語(yǔ)句2循環(huán)語(yǔ)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論