版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第3章C#.NET語言基礎(chǔ)本章將以第一個(gè)C#程序“HelloWorld”為例,向讀者演示C#應(yīng)用程序的代碼組成和編譯過程,然后以開發(fā)一個(gè)真實(shí)的“學(xué)生信息管理系統(tǒng)”為背景,詳細(xì)講述數(shù)據(jù)類型、常量、變量等C#語言基礎(chǔ)知識。章節(jié)內(nèi)容3.1引言3.2編寫第一個(gè)C#程序3.3數(shù)據(jù)類型3.4常用類型3.5常量和變量3.6小結(jié)3.1引言計(jì)算機(jī)中的高級語言(如C#、C++等)和現(xiàn)實(shí)世界中的人類語言(如漢語、英語等)有很多相似之處:(1)人類語言中的組成元素有單詞、短語、句子、段落和文章,在計(jì)算機(jī)高級語言中相對應(yīng)有常量與變量、表達(dá)式、語句、函數(shù)和程序。(2)人類語言中的單詞、短語和句子有不同的性質(zhì),如形容詞、動詞短語、感嘆句等,計(jì)算機(jī)高級語言中的常量、變量、表達(dá)式也有不同的數(shù)據(jù)類型,如整型常量、浮點(diǎn)型變量、字符類型表達(dá)式等。了解這些相似之處,對理解和掌握計(jì)算機(jī)高級語言會有啟發(fā)和幫助。3.2編寫第一個(gè)C#程序C#應(yīng)用程序的常用類型主要有3種,分別為控制臺應(yīng)用程序、Windows窗體應(yīng)用程序和Web應(yīng)用程序,具體特點(diǎn)分別如下。(1)控制臺應(yīng)用程序是沒有窗口的應(yīng)用程序,通過鍵盤以輸入命令行的形式操作程序。先前的DOS程序大都是這種類型程序,現(xiàn)在一般用作后臺服務(wù)。(2)Windows窗體應(yīng)用程序是有窗口的應(yīng)用程序,主要通過鼠標(biāo)進(jìn)行操作。因其圖形化操作和界面直觀等優(yōu)點(diǎn),非常受歡迎,當(dāng)前大多數(shù)應(yīng)用程序都是這種類型。(3)Web應(yīng)用程序其實(shí)就是將Windows窗體應(yīng)用程序以網(wǎng)頁的形式表現(xiàn)出來,是Web網(wǎng)站與傳統(tǒng)應(yīng)用程序的結(jié)合體。這種類型的應(yīng)用程序越來越多,有著廣泛的應(yīng)用前景,例如網(wǎng)上辦公和網(wǎng)上購物系統(tǒng),都是這種類型的應(yīng)用程序。3.2編寫第一個(gè)C#程序控制臺應(yīng)用程序比較簡單,通常作為初學(xué)者學(xué)習(xí)的第一種程序類型,用來熟悉最基本的語法知識。本節(jié)介紹如何在VisualStudio2008下創(chuàng)建C#控制臺應(yīng)用程序——“HelloWorld”。3.2.1代碼結(jié)構(gòu)創(chuàng)建第一個(gè)“HelloWorld”控制臺應(yīng)用程序步驟:打開VisualStudio2008,在菜單欄中單擊【文件】|【新建】|【項(xiàng)目】命令,彈出【新建項(xiàng)目】窗口。此窗口列出了VisualC#能夠創(chuàng)建的應(yīng)用程序類型,選擇“控制臺應(yīng)用程序”作為項(xiàng)目類型,并將應(yīng)用程序的名稱更改為“HelloWorld”,單擊【確定】按鈕,如圖3-1所示。新建“HelloWorld”項(xiàng)目代碼演示usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceHelloWorld{classProgram{staticvoidMain(string[]args){Console.WriteLine("HelloWorld!");Console.ReadLine();}}}命名空間類入口函數(shù)3.2.1代碼結(jié)構(gòu)C#程序由命名空間(namespace)、類(class)和程序入口函數(shù)(Main函數(shù))組成。命名空間是類的邏輯組合。命名空間和類的關(guān)系可以理解為文件夾和文件的關(guān)系。使用命名空間使得類之間更具有組織性,且避免了類的命名沖突問題。如果要創(chuàng)建一個(gè)類,要使用namespace給出命名空間的名稱;如果使用類,要使用using關(guān)鍵字指定該類所屬的命名空間,或給出類的“絕對路徑”,即“命名空間名.類名”;如果要使用同一個(gè)命名空間的類,則不需要使用using來引用命名空間。3.2.1代碼結(jié)構(gòu)類即一組屬性和方法的集合。C#使用類來搭建整個(gè)應(yīng)用程序,沒有全局函數(shù)和全局變量,這也體現(xiàn)了面向?qū)ο蟮某绦蛟O(shè)計(jì)思想。Main函數(shù)是C#應(yīng)用程序的入口,即C#應(yīng)用程序執(zhí)行的第一個(gè)函數(shù)。C#程序由多個(gè)類搭建而成,入口就是Main函數(shù)。一個(gè)應(yīng)用程序中必須有一個(gè)Main函數(shù)且只能有一個(gè)類包含Main函數(shù),并要求“Main”的首字母大寫。3.2.2編譯運(yùn)行編譯過程:.cs文件->.exe可執(zhí)行程序。對于VisualStudio2008開發(fā)平臺下的C#應(yīng)用程序,可單擊工具欄中的啟動按鈕或按【F5】鍵(按【F5】鍵進(jìn)入調(diào)試模式,按【Ctrl】+【F5】組合鍵進(jìn)入非調(diào)試模式)來編譯運(yùn)行。程序運(yùn)行界面運(yùn)行按鈕代碼分析usingSystem;表明該程序要使用System命名空間下的類,因此用using來指明引用的命名空間。如果不指明命名空間,就使用該空間下的類,會出現(xiàn)編譯錯(cuò)誤。namespaceHelloWorld表明該程序使用namespace關(guān)鍵詞聲明了一個(gè)命名空間HelloWorld,如果其他類要調(diào)用該命名空間下定義的類,需要使用using關(guān)鍵詞,即usingHelloWorld。classProgram表明該程序使用class關(guān)鍵詞定義了一個(gè)類Program,該類屬于命名空間HelloWorld代碼分析staticvoidMain(string[]args)聲明了Main函數(shù),static是修飾符(其作用將在后續(xù)章節(jié)詳細(xì)介紹),void表明Main函數(shù)沒有返回值,string[]args是參數(shù)列表。
Console.WriteLine("HelloWorld!");使用命名空間System里的Console類中的WriteLine函數(shù)輸出字符串“HelloWorld”。如果程序頭未引用System命名空間,須使用System.Console.WriteLine全稱。
Console.ReadLine();調(diào)用命名空間System中Console類中的ReadLine函數(shù),該函數(shù)等待鍵盤輸入,按【Enter】鍵結(jié)束等待。3.3數(shù)據(jù)類型當(dāng)學(xué)習(xí)某一門人類語言時(shí),例如漢語中的詞組,會發(fā)現(xiàn)漢語中的詞語有名詞和動詞等分類,這稱為詞性。計(jì)算機(jī)高級語言的數(shù)據(jù)有整型和浮點(diǎn)型等,這叫做數(shù)據(jù)類型。數(shù)據(jù)類型的作用:編譯器可根據(jù)數(shù)據(jù)類型判斷它們是否可以參加某種運(yùn)算,從而幫助開發(fā)人員減少語法錯(cuò)誤。不同的數(shù)據(jù)類型,在內(nèi)存中所占字節(jié)數(shù)不同,如果要處理的數(shù)據(jù)量非常大,選擇適合的數(shù)據(jù)類型能夠在很大程度上節(jié)省內(nèi)存空間。C#數(shù)據(jù)類型圖3.3數(shù)據(jù)類型值類型和引用類型是C#中兩種主要的數(shù)據(jù)類型;var類型為C#3.5新增類型,詳細(xì)介紹參見第13章。指針類型僅可用于unsafe模式,用法類似C++中的指針,這里不再贅述。(unsafe模式引用非.netDLL提供的如C++編寫的外部函數(shù),需要指針來傳遞該函數(shù),優(yōu)點(diǎn)是可以調(diào)用其他dll的函數(shù),提高了兼容性;缺點(diǎn)是容易內(nèi)存泄漏)數(shù)據(jù)類型劃分依據(jù)C#數(shù)據(jù)類型按照數(shù)據(jù)的存儲模型分為值類型、引用類型、指針類型和var類型。數(shù)據(jù)的存儲模型指的是數(shù)據(jù)在內(nèi)存中的保存方式。內(nèi)存中有兩個(gè)區(qū)域可以存放數(shù)據(jù),一個(gè)是棧區(qū),另外一個(gè)是堆區(qū)。棧區(qū)存放是編譯期間就分配好的內(nèi)存空間,不會動態(tài)增長;堆區(qū)是程序運(yùn)行期間動態(tài)分配的內(nèi)存空間。因此存儲在棧中的數(shù)據(jù)長度通常較小且固定,存儲在堆中的數(shù)據(jù)可以動態(tài)增長且所需空間通常較大。值類型的數(shù)據(jù)存儲所需空間通常較小,使用棧區(qū)的內(nèi)存,而引用類型的數(shù)據(jù)所需空間較大,使用堆區(qū)的內(nèi)存。3.4常用類型3.4.1整型3.4.2浮點(diǎn)型3.4.3decimal類型3.4.4布爾型3.4.5結(jié)構(gòu)體類型3.4.6枚舉類型3.4.7string類型3.4.8Object類型3.4.9數(shù)據(jù)類型的轉(zhuǎn)換3.4.1整型整型就是整數(shù)類型,C#整型共有9種數(shù)據(jù)類型。類型數(shù)值范圍特征sbyte-128~127有符號8位整數(shù)byte0~255無符號8位整數(shù)charU+0000~U+ffff16位Unicode字符short-32,768~32,767有符號16位整數(shù)ushort0~65,535無符號16位整數(shù)int-2,147,483,648~2,147,483,647有符號32位整數(shù)uint0~4,294,967,295無符號32位整數(shù)long-9,223,372,036,854,775,808~9,223,372,036,854,775,807有符號64位整數(shù)ulong0~18,446,744,073,709,551,615無符號64位整數(shù)3.4.1整型注意:有符號指的是第一位二進(jìn)制數(shù)表示符號,0代表正數(shù),1代表負(fù)數(shù);無符號指的是所有的位數(shù)都用來表示數(shù)值,沒有符號位,均為正數(shù)。例如,sbyte是一個(gè)有符號8位二進(jìn)制數(shù),第一位用來表示符號,因此sbyte表示的范圍為-128-127;byte是一個(gè)無符號8位二進(jìn)制數(shù),8位全用來表示數(shù)值,表示范圍為0-255,其他類型可以依此類推。char類型也是一種整型,常用來表示字符,由16位二進(jìn)制數(shù)組成,表示范圍為0-65535,代表世界上大多數(shù)書面語言符號。這種字符又稱為Unicode字符,在使用時(shí)可以寫成字符、十六進(jìn)制和unicode字符,例如字符A可以表示為''A''、''\x0041''和''\u0041''。
使用整型
byteage=18;charsex='男';longStudentNumber=200745054489;注意,char類型一次只能賦值一個(gè)字符,不能賦值兩個(gè)字符,例如‘男生’。注意整型溢出,byteage=300,產(chǎn)生溢出錯(cuò)誤。3.4.1整型對于等號右邊的整數(shù)常數(shù),C#會按照默認(rèn)的方式來判斷所屬類型,即按照一定的順序判斷整數(shù)的類型,即int、uint、long、ulong。如果不希望C#使用上述默認(rèn)的方式來判斷一個(gè)整數(shù)數(shù)值常數(shù)的類型,可以通過添加后綴來指定整數(shù)常數(shù)的類型。u(或者U)后綴:加在整數(shù)常數(shù)后面,代表該常數(shù)是uint類型或者ulong類型。具體類型由常數(shù)的實(shí)際值決定。C#優(yōu)先匹配uint類型。l(或者L)后綴:加在整數(shù)常數(shù)后面,代表該常數(shù)是long類型或者ulong類型。具體類型由常數(shù)的實(shí)際值決定。C#優(yōu)先匹配long類型。ul后綴:加在整型常數(shù)后面,代表該常數(shù)是ulong類型。例如:uintage=18U;longStudentNumber=200745054489L;對于不可打印字符,例如回車符、換行符等,則需要采用轉(zhuǎn)義符。
charc='\a';Console.WriteLine(c);Console.WriteLine(''\'abc\'\n'')轉(zhuǎn)義符字符十六進(jìn)制表示\'單引號0x0027\''雙引號0x0022\\反斜杠0x005C\0空字符0x0000\a發(fā)出一聲響鈴0x0007\b退格0x0008\n換行0x000A\r回車0x000D\f換頁符0x000C\t水平制表符0x0009\v垂直制表符0x000B3.4.1整型3.4.2浮點(diǎn)型在日常生活中,像學(xué)生成績,要用小數(shù)表示。在C#中使用浮點(diǎn)型表示小數(shù),浮點(diǎn)就是指小數(shù)點(diǎn)。C#語言中有兩種小數(shù)類型,分別為32位單精度浮點(diǎn)型float和64位雙精度浮點(diǎn)型double。精度指的是小數(shù)位數(shù),小數(shù)位數(shù)越多,精度越高,小數(shù)位數(shù)越少,精度越低。float類型中小數(shù)位數(shù)為7位,即可精確到小數(shù)點(diǎn)后7位,double類型中小數(shù)位數(shù)為15或16位,即可精確到小數(shù)點(diǎn)后15或16位,是float類型的兩倍,因此稱為雙精度浮點(diǎn)型。使用浮點(diǎn)型注意,對于一個(gè)小數(shù),其默認(rèn)類型都是double類型,如果需要指定為float類型,必須在小數(shù)后面添加F或f后綴。示例:
doublescore1=5.648;floatscore=9.54;//編譯錯(cuò)誤
floatscore=9.56f;3.4.3decimal類型在日常生活中,需要有表示財(cái)務(wù)信息等的要求精度更高的小數(shù),在C#中需要用decimal類型表示。decimal類型由128位組成,其精度可達(dá)28位,表示范圍比float小,原因是decimal使用了更多的字節(jié)來表示小數(shù)。注意:如果需要指定某小數(shù)為decimal類型,必須在小數(shù)的后面添加M或m后綴。使用decimal類型
decimalschoolfees=3000.56m;decimalschoolfees=3000.56;//編譯錯(cuò)誤不能隱式地將Double類型轉(zhuǎn)換為“decimal”類型注意,在程序代碼中書寫一個(gè)小數(shù)常數(shù)時(shí),C#默認(rèn)該小數(shù)常數(shù)為double類型。如果不希望C#使用上述默認(rèn)的方式來判斷一個(gè)小數(shù)常數(shù)的類型,可以通過為數(shù)值常數(shù)添加后綴的方法來指定小數(shù)常數(shù)的類型。可以使用的數(shù)值常數(shù)后綴有以下兩種。f(或者F)后綴:加在任何一種數(shù)值常數(shù)后面,代表該常數(shù)是float類型。m(或者M(jìn))后綴:加在任何一種數(shù)值常數(shù)后面,代表該常數(shù)是decimal類型。3.4.3布爾型日常生活中的,常有是否黨員這樣的信息。在C#中,這類信息用布爾型(bool)表示。C#語言中的布爾(bool)型只包含兩個(gè)值,即true和false,主要用于“是否”類型的數(shù)據(jù)上。使用布爾型
boolIsPartyMember=false;boolIsPartyMember=0;//編譯錯(cuò)誤注意,在C#中,bool值不能和整數(shù)值相互轉(zhuǎn)化,這點(diǎn)和C或C++不同。如果試圖使用0表示false,非0值表示true,將導(dǎo)致編譯錯(cuò)誤。3.4.5結(jié)構(gòu)體類型在日常生活中,例如學(xué)生基本信息由姓名、性別、年齡、班級和學(xué)院等信息組成,是一個(gè)整體,不可分割。對于諸如此類的包含一組信息的信息,在C#中需要使用結(jié)構(gòu)體表示。結(jié)構(gòu)體類型是一種復(fù)合值類型,是由一系列相關(guān)的、但類型不一定相同的數(shù)據(jù)組織在一起而成的,是具有某一種組織結(jié)構(gòu)的整體,使用struct關(guān)鍵字來創(chuàng)建,使用“.”操作符可以訪問結(jié)構(gòu)體的成員。使用結(jié)構(gòu)體類型structstudent{publicstringname;publicuintage;publiccharsex;publicstringDepartmentName;publicstringDepartmentTel;
……….
……….}注意:public修飾符用來修飾變量name,表示該變量是公共變量,可以被外界訪問,默認(rèn)為private,表示私有變量,不可以被外界訪問。使用結(jié)構(gòu)體類型上述代碼中結(jié)構(gòu)體成員較多,且其中學(xué)院名稱和學(xué)院電話兩個(gè)成員都用于描述學(xué)院的信息,因此可以將其兩者構(gòu)成一個(gè)結(jié)構(gòu)體,嵌套在其中,使得結(jié)構(gòu)體的組織更具邏輯性。structstudent{publicstringname;publicuintage;publiccharsex;publicstructdepartment{publicstringDepartmentName;publicstringDepartmentTel;}
………..
………..}結(jié)構(gòu)體類型示例namespacestructstudent{classProgram{structstudent{publicstringname;publicuintage;publiccharsex;publicstructdepartment{publicstringDepartmentName;publicstringDepartmentTel;}}staticvoidMain(string[]args){studentstu1;student.departmentd1;=''John'';d1.DepartmentName=''computer'';}}}3.4.6枚舉類型日常生活中,有這么一類信息,如學(xué)生的學(xué)位有學(xué)士、碩士和博士,而且只有這3個(gè)“有限狀態(tài)”值,C#語言提供了枚舉類型。枚舉類型就是一組有相應(yīng)含義的單詞的集合,稱為枚舉成員列表。該組單詞集合對應(yīng)著一組邏輯上密不可分的整數(shù),這些整數(shù)稱為對應(yīng)單詞的值。枚舉類型是一種值類型,由enum關(guān)鍵詞創(chuàng)建,使用“.”符號可以取得枚舉成員的值。使用枚舉類型usingSystem;namespaceEnumExample{classProgram{enumdegree{bachelor,master,doctor};staticvoidMain(string[]args){strings="Hisdegreeis"+degree.bachelor;Console.WriteLine(s);}}}執(zhí)行上述代碼,輸出結(jié)果為:Hisdegreeisbachelor。使用枚舉類型注意事項(xiàng)每種枚舉類型具有一種基礎(chǔ)類型,此基礎(chǔ)類型可以是除char類型以外的任何整型。如果不指明基礎(chǔ)數(shù)據(jù)類型,則默認(rèn)為int類型。默認(rèn)情況下,第一個(gè)枚舉成員的值為0,后面每個(gè)枚舉成員的值依次遞增1??梢酝ㄟ^為枚舉成員賦值來改變默認(rèn)值,而且不同成員的值可以相同。對枚舉類型的數(shù)據(jù)可以進(jìn)行運(yùn)算操作,但要注意運(yùn)算后的枚舉類型數(shù)據(jù)的值應(yīng)在枚舉成員值的范圍之內(nèi)。枚舉類型示例正確代碼:enumrange{Max=1000,Min=10};enumDays{Mon,Tue,Wed,Thu,Fri,Sat,Sun};Daysday=Days.Mon;Inti=(int)Days.Tue;//i=1enumColors:short{Red=3,Yellow,Blue=3,Black};錯(cuò)誤代碼enumColor:uint{Red=-1,Green=-2,Blue=-3}; //錯(cuò)誤enumColor{Red=Green,Green,Blue}; //錯(cuò)誤注意,枚舉類型與結(jié)構(gòu)體類型不同,結(jié)構(gòu)體類型數(shù)據(jù)的值是一組復(fù)合值,而枚舉類型數(shù)據(jù)的值只能是枚舉成員列表中的某一個(gè)枚舉成員的值。3.4.7string類型例如學(xué)生姓名,年級這樣的信息,在C#中使用string類型表示。string類型屬于引用類型,是系統(tǒng)提供的類System.String的別名,表示Unicode字符,因此可以認(rèn)為“string”和“String”在使用上沒有任何區(qū)別。創(chuàng)建一個(gè)string類型的字符串有如下兩種表達(dá)方式。使用雙引號將字符串括起來,對于特殊符號,可采用轉(zhuǎn)義符來表示。使用“@”符號引起來,這樣字符串中的所有字符均被識別為普通字符,可以代替轉(zhuǎn)義符,減少了書寫上的麻煩。使用string類型StringStudentName="張山";stringClassName="機(jī)電5班";stringSchoolInfo="北京大學(xué)簡稱為\"北大\"";stringSchoolInfo1=@"北京大學(xué)簡稱為\"北大\"";stringSchoolInfo2=@"北京大學(xué)簡稱為“北大”";Console.WriteLine(StudentName);Console.WriteLine(ClassName);Console.WriteLine(SchoolInfo);Console.WriteLine(SchoolInfo1);Console.WriteLine(SchoolInfo2);執(zhí)行上述代碼,輸出結(jié)果如下:張山機(jī)電5班北京大學(xué)簡稱為“北大”北京大學(xué)簡稱為\"北大\"北京大學(xué)簡稱為“北大”
3.4.8object類型Object類型是預(yù)定義類System.Object的別名,它是C#中所有其他類型(預(yù)定義類型、用戶定義類型、引用類型和值類型)的基類,即所有類型都是直接或間接從object類型繼承的。因此,可以將任意類型的值賦給object類型的變量。使用object類型
objecta;a=1;Console.WriteLine(a);
執(zhí)行上述代碼,運(yùn)行結(jié)果為:1。3.4.9數(shù)據(jù)類型的轉(zhuǎn)換成績變量為float類型,在填寫成績時(shí),若輸入成績時(shí)填寫了整數(shù),則系統(tǒng)進(jìn)行計(jì)算時(shí)會自動將其轉(zhuǎn)換為浮點(diǎn)類型。又如在年齡一項(xiàng)填寫了小數(shù),系統(tǒng)進(jìn)行計(jì)算時(shí)需要先將其轉(zhuǎn)換為整數(shù)。C#語言的數(shù)據(jù)類型轉(zhuǎn)換分為隱式轉(zhuǎn)換和顯示轉(zhuǎn)換。隱式轉(zhuǎn)化是系統(tǒng)默認(rèn)的轉(zhuǎn)換類型,不需要加以聲明;顯式轉(zhuǎn)化又稱為強(qiáng)制轉(zhuǎn)換,需要加以聲明。隱式轉(zhuǎn)換隱式轉(zhuǎn)換是系統(tǒng)默認(rèn)的、不需要加以聲明就可以進(jìn)行的轉(zhuǎn)換。例如:floatscore=68;longStudentNumber=20076868;
進(jìn)行隱式的類型轉(zhuǎn)換,實(shí)際就是從低精度、小范圍的數(shù)據(jù)類型轉(zhuǎn)換為高精度、大范圍的數(shù)據(jù)類型。這種轉(zhuǎn)換通常很順利,因?yàn)榇蠓秶愋偷淖兞烤哂凶銐虻目臻g存放小范圍類型的數(shù)據(jù)。隱式類型轉(zhuǎn)換表源類型目的類型sbyteshort、int、long、float、double、decimalbyteshort、ushort、int、uint、long、ulong、float、double、decimalshortint、long、float、double、decimalushortint、uint、long、ulong、float、double、decimalintlong、float、double、decimaluintlong、ulong、float、double、decimallong、ulongfloat、double、decimalfloatdoublecharushort、int、uint、long、ulong、float、double、decimal隱式轉(zhuǎn)換大部分類型都可以轉(zhuǎn)化為float、double和decimal類型,原因是這3種數(shù)據(jù)類型所表示值的范圍比較大。不存在浮點(diǎn)型到decimal類型的相互轉(zhuǎn)換,原因是decimal所表示的范圍相比float、double較小,但是精度比float、double高。不存在到char類型的隱式轉(zhuǎn)化。注意,int類型的常數(shù)可轉(zhuǎn)換為sbyte、byte、short、ushort,但前提是常數(shù)的值處于上述類型的范圍之內(nèi)。例如,sbyte=122,122默認(rèn)類型為int,將整型轉(zhuǎn)化為sbye,盡管不符合表中隱式轉(zhuǎn)換的規(guī)則,但因?yàn)?22在sbyte類型的范圍之內(nèi),所以仍是正確的。顯示轉(zhuǎn)換顯式轉(zhuǎn)換,又稱強(qiáng)制轉(zhuǎn)換,可以理解為從高精度、大范圍的數(shù)據(jù)類型轉(zhuǎn)換為低精度、小范圍的數(shù)據(jù)類型。示例代碼:
intage=(int)24.5;源類型目的類型sbytebyte、ushort、uint、ulong或charbytesbyte或者charshortsbyte、byte、ushort、uint、ulong或charushortsbyte、byte、short或charintsbyte、byte、short、ushort、uint、ulong或charuintsbyte、byte、short、ushort、int或charlongsbyte、byte、short、ushort、int、uint、ulong或charulongsbyte、byte、short、ushort、int、uint、long或charcharsbyte、byte或shortfloatsbyte、byte、short、ushort、int、uint、long、ulong、char或decimaldoublesbyte、byte、short、ushort、int、uint、long、ulong、char、float或decimaldecimalsbyte、byte、short、ushort、int、uint、long、ulong、char、float或double3.5常量和變量數(shù)據(jù)是計(jì)算機(jī)程序處理的主要對象。如前所述,數(shù)據(jù)可以是整型、浮點(diǎn)型等,這些類型的數(shù)據(jù)值在程序運(yùn)行過程中可以是變化的,也可以固定不變。在程序運(yùn)行的整個(gè)過程中,其值始終不可改變的量稱為常量,其值可以變化的量稱為變量。一旦聲明了某種數(shù)據(jù)類型的常量或變量,系統(tǒng)就會為該常量或變量分配該數(shù)據(jù)類型相應(yīng)的空間,在該空間中存放該常量或變量的數(shù)據(jù)。3.5.1常量和變量的命名規(guī)則在C#中,使用常量和變量的基本原則為先定義,后使用。命名規(guī)則:標(biāo)識符必須以字母或下劃線開頭。標(biāo)識符只能由字母、數(shù)字和下劃線組成,不能包含空格、標(biāo)點(diǎn)符號、運(yùn)算符。標(biāo)識符不能與C#中的關(guān)鍵字、庫函數(shù)名同名。C#允許在標(biāo)識符前加上前綴@,即可以用前綴@加上關(guān)鍵字作為標(biāo)識符的名稱,如@using是合法的標(biāo)識符名。引入前綴@的目的在于與其他語言進(jìn)行交互時(shí)避免沖突,因?yàn)锧實(shí)際上并不是名稱的一部分,其他編程語言會把它作為一個(gè)普通的標(biāo)識符。C#關(guān)鍵字abstractasbaseboolbreakbytecasecatchCharcheckedclassconstcontinuedecimaldefaultdelegatedodoubleelseenumeventexplicitexternfalsefinallyfixedfloatforforeachgotoifimplicitinintinterfaceinternalislocklongnamespacenewnullobjectoperatoroutoverrideparamsprivateprotectedpublicreadonlyrefreturnsbytesealedshortsizeofstackallocstaticstringstructswitchthisthrowtruetrytypeofuintulonguncheckedunsafeushortusingvirtualvoidvolatilewhile標(biāo)識符命名示例myVariableIsGood99Flake//錯(cuò)誤_floortime2GetJiggyWidIt//錯(cuò)誤short//錯(cuò)誤@if3.5.2常量聲明和初始化一個(gè)常量要使用const關(guān)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版保健食品電商平臺數(shù)據(jù)分析與用戶畫像合同2篇
- 二零二五版電影后期特效制作贊助合同3篇
- 二零二五年度建筑節(jié)能玻璃檢測與綠色建筑認(rèn)證合同3篇
- 二零二五年技術(shù)服務(wù)合同服務(wù)內(nèi)容和技術(shù)要求2篇
- 二零二五版存量房買賣合同家庭定制版2篇
- 二零二五版智能公廁建設(shè)與運(yùn)營管理合同3篇
- 二零二五版體育用品促銷員賽事贊助合同3篇
- 二零二五版鐘點(diǎn)工家政服務(wù)合同-含家政員行為規(guī)范3篇
- 二零二五版國際汽車運(yùn)輸與品牌合作推廣合同3篇
- 二零二五版能源節(jié)約型產(chǎn)品采購合同規(guī)范范本2篇
- 讓學(xué)生看見你的愛
- 銷售禮盒營銷方案
- 領(lǐng)導(dǎo)溝通的藝術(shù)
- 發(fā)生用藥錯(cuò)誤應(yīng)急預(yù)案
- 南潯至臨安公路(南潯至練市段)公路工程環(huán)境影響報(bào)告
- 綠色貸款培訓(xùn)課件
- 大學(xué)生預(yù)征對象登記表(樣表)
- 主管部門審核意見三篇
- 初中數(shù)學(xué)校本教材(完整版)
- 父母教育方式對幼兒社會性發(fā)展影響的研究
- 新課標(biāo)人教版數(shù)學(xué)三年級上冊第八單元《分?jǐn)?shù)的初步認(rèn)識》教材解讀
評論
0/150
提交評論