版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C#面向?qū)ο蟪绦蛟O(shè)計
工程教程計算機(jī)“十二五〞規(guī)劃教材工程二C#面向?qū)ο蟪绦蛟O(shè)計
工程教程計算機(jī)“十二五〞規(guī)劃教材工程C#面向?qū)ο蟪绦蛟O(shè)計工程教程工程二C#語法根底——學(xué)好C#語言的基石學(xué)習(xí)任務(wù)熟悉C#的根本編碼規(guī)那么熟悉一些特殊運算符的使用方法熟悉常用的數(shù)據(jù)類型并掌握數(shù)據(jù)類型的轉(zhuǎn)換方法熟悉C#中switch語句和foreach語句的使用方法C#面向?qū)ο蟪绦蛟O(shè)計工程教程工程二C#語法根底——學(xué)好C2C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)安排任務(wù)一熟悉C#中的根底語言元素任務(wù)二掌握C#中分支與循環(huán)語句新用法工程二C#語法根底——學(xué)好C#語言的基石C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)安排工程二C#語法根底—3C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)一熟悉C#中的根底語言元素任務(wù)說明在本任務(wù)中我們將學(xué)習(xí)C#的根本編碼規(guī)那么和根底語言元素。預(yù)備知識一、根本編碼規(guī)那么二、一些特殊的運算符三、數(shù)據(jù)類型與數(shù)據(jù)類型間的轉(zhuǎn)換C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)一熟悉C#中的根底語言元4C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔一〕標(biāo)識符和保存字常量、變量、類、方法等的名字,統(tǒng)稱為標(biāo)識符。以字母、下劃線〔_〕或@開始的一個字符序列,后面可以跟字母、數(shù)字或下劃線。另外,需要注意的是,C#語言區(qū)分大小寫,例如,Elen和elen是兩個不同的標(biāo)識符。一般情況下,變量名首字母小寫,后面各單詞首字母大寫;常量、類名、方法、屬性等首字母需大寫。一、根本編碼規(guī)那么C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔一〕標(biāo)識符和保存字常量5C#面向?qū)ο蟪绦蛟O(shè)計工程教程保存字又稱關(guān)鍵字,是指已經(jīng)定義過的字符,具有專門的意義和用途,使用者不能將它們作為變量名或過程名使用。表2-1所示為C#中的關(guān)鍵字。C#面向?qū)ο蟪绦蛟O(shè)計工程教程保存字又稱關(guān)鍵字,是指已6C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔二〕書寫規(guī)那么①每條語句以分號“;〞結(jié)尾〔注意:需要在英文狀態(tài)下輸入〕。②盡量每行只放置一條語句。③編寫語句塊時垂直對齊左括號和右括號,或者使用傾斜樣式,即左括號出現(xiàn)在行尾,右括號出現(xiàn)在行首。④對同一級別的語句建立標(biāo)準(zhǔn)的縮進(jìn)大小〔如四個空格〕,并在整個文件中一致地使用此標(biāo)準(zhǔn)。C#語言在編譯時將忽略空行和縮進(jìn)。⑤為語句添加必要的注釋,增加代碼的可讀性。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔二〕書寫規(guī)那么①每條語7C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔三〕注釋的表示方式〔3〕XML注釋方式在.NET框架中,微軟引入了一種新的注釋格式,以三個反斜杠“///〞開頭,并且包含XML標(biāo)簽〔參見【代碼2-1】〕,這種注釋方式稱為XML注釋或文檔注釋方式?!?〕注釋一行注釋較短內(nèi)容,采用兩個斜線“//〞標(biāo)注在注釋內(nèi)容前〔2〕注釋多行在一行上不能標(biāo)注清楚,此時采用“/*〞標(biāo)注在注釋內(nèi)容前,“*/〞標(biāo)注在注釋內(nèi)容結(jié)束處。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔三〕注釋的表示方式〔3〕XML8C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#解析器可以把代碼文件中的這些XML標(biāo)記提取出來,經(jīng)過進(jìn)一步處理就可以成為外部幫助文檔,引入這種注釋方式后可省去編程人員大量后期工作。///<summary>///應(yīng)用程序的主入口點。///</summary>例如:C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#解析器可以把代碼文件9C#面向?qū)ο蟪绦蛟O(shè)計工程教程二、一些特殊的運算符〔1〕點運算符“.〞點運算符指定類型或命名空間的成員。〔2〕索引運算符“[]〞用于數(shù)組、索引器,表示按[]內(nèi)指定的索引去訪問數(shù)組或索引器中的相應(yīng)元素的內(nèi)容。〔3〕轉(zhuǎn)換運算符“()〞除用于指定表達(dá)式中的運算順序外,還用于指定強(qiáng)制類型轉(zhuǎn)換。C#面向?qū)ο蟪绦蛟O(shè)計工程教程二、一些特殊的運算符〔1〕點運算10C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔4〕checked和unchecked運算符如果將一個代碼塊標(biāo)記為checked,CLR就會執(zhí)行溢出檢查,假設(shè)發(fā)生溢出,就拋出異常;如果要禁止溢出檢查,可以把代碼標(biāo)記為unchecked。byteb=255;checked{b++;}Console.WriteLine(b.ToString());byteb=255;unchecked{b++;}Console.WriteLine(b.ToString());運行這段代碼,系統(tǒng)將會拋出異常。運行這段代碼不會拋出異常,但會喪失數(shù)據(jù)——因為byte數(shù)據(jù)類型不能包含256,溢出的位會被丟掉,b變量得到的值是0。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔4〕checked和unch11C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔5〕is運算符用于檢查對象是否與給定類型兼容?!?〕as運算符as運算符用于執(zhí)行引用類型的顯式類型轉(zhuǎn)換,假設(shè)不成功那么返回null。常被用在以下形式的表達(dá)式中:expressionastype此表達(dá)式等效于:expressionistype?(type)expression:(type)nullC#面向?qū)ο蟪绦蛟O(shè)計工程教程〔5〕is運算符用于檢查對象是否12C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔7〕newnew運算符用于創(chuàng)立對象和調(diào)用構(gòu)造函數(shù),例如:Class1MyClass=newClass();〔8〕typeoftypeof運算符用于獲得系統(tǒng)原型對象的類型,即返回一個表示特定類型的對象。例如,typeof(int)表示返回類型的Type對象。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔7〕newnew運算符用于創(chuàng)立13C#面向?qū)ο蟪绦蛟O(shè)計工程教程三、數(shù)據(jù)類型與數(shù)據(jù)類型間的轉(zhuǎn)換1.內(nèi)置類型和構(gòu)造類型按照不同的劃分方法,C#語言的數(shù)據(jù)類型有以下兩種劃分方式。〔一〕數(shù)據(jù)類型C#面向?qū)ο蟪绦蛟O(shè)計工程教程三、數(shù)據(jù)類型與數(shù)據(jù)類型間的轉(zhuǎn)換114C#面向?qū)ο蟪绦蛟O(shè)計工程教程2.值類型與引用類型C#面向?qū)ο蟪绦蛟O(shè)計工程教程2.值類型與引用類型15C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#語言中類型轉(zhuǎn)換的方法有兩種:隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。1.隱式轉(zhuǎn)換系統(tǒng)默認(rèn)的不必加以說明就可以進(jìn)行的轉(zhuǎn)換,轉(zhuǎn)換規(guī)那么如下:
①
字符類型可以隱式轉(zhuǎn)換為整型或浮點型,但其他類型不能隱式轉(zhuǎn)換為字符類型。②低精度的類型可以隱式轉(zhuǎn)換成高精度的類型,反之那么不行。
③
浮點型和decimal類型之間不能進(jìn)行隱式轉(zhuǎn)換,而只能進(jìn)行顯式轉(zhuǎn)換?!捕硵?shù)據(jù)類型間的轉(zhuǎn)換C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#語言中類型轉(zhuǎn)換的方法有兩種:16C#面向?qū)ο蟪绦蛟O(shè)計工程教程2.顯示轉(zhuǎn)換將高精度數(shù)據(jù)轉(zhuǎn)換為低精度數(shù)據(jù),必須使用強(qiáng)制轉(zhuǎn)換表達(dá)式將源類型轉(zhuǎn)化為目標(biāo)類型,這種數(shù)據(jù)類型轉(zhuǎn)換方式稱為顯式轉(zhuǎn)換,又叫強(qiáng)制轉(zhuǎn)換。各數(shù)據(jù)類型可以顯式轉(zhuǎn)換的數(shù)據(jù)類型如右表所示。C#面向?qū)ο蟪绦蛟O(shè)計工程教程2.顯示轉(zhuǎn)換將高精度數(shù)17C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#支持三種顯式轉(zhuǎn)換方式:〔1〕通過圓括號“()〞轉(zhuǎn)化格式為:(目標(biāo)類型)<表達(dá)式>例如,將long類型轉(zhuǎn)化為int型,代碼如下:longi=45;intj=(int)i;〔2〕通過Convert類Convert類位于System命名空間,該類的方法都是靜態(tài)方法,可以通過“Convert.方法名(參數(shù))〞形式來使用,用于將一個值類型轉(zhuǎn)換成另一種類型。C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#支持三種顯式轉(zhuǎn)換方式:〔1〕18C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔3〕通過數(shù)據(jù)類型自身的Parse方法在.NETFramework類庫的System命名空間里,任何系統(tǒng)預(yù)定義的數(shù)據(jù)類型都有其同名的類,Parse()方法就是這些類的一個靜態(tài)方法,作用是把Parse()方法中給定的內(nèi)容轉(zhuǎn)換為調(diào)用該方法的類類型數(shù)據(jù)。例如,Int32.Parse("數(shù)字字符串")或Int.Parse("數(shù)字字符串")即表示將數(shù)字字符串轉(zhuǎn)換為32位有符號整數(shù)。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔3〕通過數(shù)據(jù)類型自身的Pars19C#面向?qū)ο蟪绦蛟O(shè)計工程教程inti=100;
stringstr=i.Tostring();在C#中所有數(shù)據(jù)類型都有Tostring()方法。因此,由值轉(zhuǎn)化為字符串時就又多了一種方式。例如:i.Tostring()和的區(qū)別如下:當(dāng)返回的數(shù)據(jù)類型中有可能出現(xiàn)null值時:假設(shè)調(diào)用tostring方法,會返回NullReferenceException異常;假設(shè)使用Convert.ToString()方法,不會拋出異常而是返回空字符串。C#面向?qū)ο蟪绦蛟O(shè)計工程教程inti=100;
str20C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)實施——繪制夢幻曲線總體思路在VS中創(chuàng)立一個窗口程序,在該窗口中添加一個按鈕,然后在按鈕的單擊事件中編寫繪制夢幻曲線的代碼?;ò陥D形是由無數(shù)線段組成的,這些線段是由正弦函數(shù)和余弦函數(shù)設(shè)置的兩點坐標(biāo)〔x1,y1〕和〔x2,y2〕之間繪制的直線。程序效果如右圖所示。C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)實施——繪制夢幻曲線總體思路21C#面向?qū)ο蟪绦蛟O(shè)計工程教程步驟1啟動VS,執(zhí)行“文件〞→“新建〞→“工程〞菜單命令,在彈出的“新建工程〞對話框中選擇新建“Windows窗體應(yīng)用程序〞后,單擊“確定〞按鈕。選中新建的Form1窗體,然后單擊工具箱按鈕,將“所有Windows窗體〞組中的button按鈕拖入Form1窗體左上方并更改Form1窗體和botton按鈕的屬性,將其顯示的文字改為“繪制夢幻曲線〞,如以下圖所示。實施步驟C#面向?qū)ο蟪绦蛟O(shè)計工程教程步驟1啟動VS,執(zhí)行“文件〞22C#面向?qū)ο蟪绦蛟O(shè)計工程教程步驟2調(diào)整窗體和按鈕的大小,然后雙擊該按鈕,翻開按鈕的單擊事件函數(shù)編寫窗口,編寫繪制夢幻曲線的代碼,如【代碼2-3】所示?!敬a2-3】繪制夢幻曲線privatevoidbutton1_Click(objectsender,EventArgse){floatA,E,M_PI,x1,y1,x2,y2;intD,i;D=100;圓周率,以f結(jié)尾表示以float類型存儲數(shù)據(jù)for(i=0;i<=720;i++)//繪制圖形{A=i*M_PI/360;E=(float)(D*(1+System.Math.Sin(4*A)));//(float)用于將數(shù)據(jù)進(jìn)行強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換x1=(float)(320+E*System.Math.Cos(A));x2=(float)(320+E*System.Math.Cos(A+M_PI/5));y1=(float)(240+E*System.Math.Sin(A));y2=(float)(240+E*System.Math.Sin(A+M_PI/5));Penpen=Pens.Red;//設(shè)置畫筆顏色為紅色Graphicsgdi=this.CreateGraphics();//生成Graphics對象gdi.DrawLine(pen,x1,y1,x2,y2);//使用DrawLine方法在點(x1,y1)和點(x2,y2)間畫一條直線}}步驟3 翻開“調(diào)試〞菜單,在彈出的下拉菜單中選擇“開始執(zhí)行(不調(diào)試)〞選項,在彈出的程序窗口中單擊“繪制夢幻曲線〞按鈕,我們將看到一個紅色的花瓣圖形。C#面向?qū)ο蟪绦蛟O(shè)計工程教程步驟2調(diào)整窗體和按鈕的大小,23C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)二掌握C#中分支與循環(huán)語句新用法任務(wù)說明C#中根底運算符和表達(dá)式的使用,if分支語句、for循環(huán)和while循環(huán)語句的使用與C/C++中相似,這里我們只介紹分支與循環(huán)語句的不同:一是switch語句的用法不太相同,二是新增加了foreach語句。預(yù)備知識一、switch語句二、foreach語句C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)二掌握C#中分支與循環(huán)24C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程一、switch語句switch語句的一般形式如下:switch(表達(dá)式){case常量表達(dá)式1:語句組1;break;case常量表達(dá)式2:語句組2;break;case常量表達(dá)式3:語句組3;break;……case常量表達(dá)式n:語句組n;break;default:語句組n+1;break;}該語句的功能是:首先計算switch語句中表達(dá)式的值〔表達(dá)式一般為整型、字符或字符串類型〕,當(dāng)表達(dá)式的值與某一個case后面常量表達(dá)式的值匹配時,就執(zhí)行該case后面的語句,執(zhí)行完后退出switch語句;假設(shè)表達(dá)式的值與所有case后面的常量表達(dá)式的值都不匹配,那么執(zhí)行default后面的語句。C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程一、switch語句swit25C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程使用switch語句時應(yīng)注意以下幾點:①每個case后面的常量表達(dá)式必須各不相同,否那么會出現(xiàn)矛盾,即一個值有多種選擇。②各個case語句和default語句出現(xiàn)的順序?qū)?zhí)行結(jié)果沒有影響。③在每一個case后面,都必須有一個跳轉(zhuǎn)語句〔如break、goto等〕。C#中不支持C或C++中的“貫穿原那么〞〔即某假設(shè)case語句后面沒有break,那么執(zhí)行完case語句后不再進(jìn)行判斷,程序?qū)⑥D(zhuǎn)到下一個case語句繼續(xù)執(zhí)行〕,如果要在執(zhí)行一個case語句后繼續(xù)執(zhí)行另一個case語句,那么必須使用顯式的gotocase或gotodefault語句。C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程使用switch語句時應(yīng)注意26C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程二、foreach語句foreach循環(huán)主要針對數(shù)組和集合,語句格式為:foreach(類型變量名in表達(dá)式)循環(huán)體語句;類型和變量名用來聲明循環(huán)變量,表達(dá)式對應(yīng)集合,每執(zhí)行一次循環(huán)語句,循環(huán)變量就依次取集合中的一個元素代入其中。需要注意的是,循環(huán)變量是一個只讀型局部變量,如果試圖改變它的值或?qū)⑺鳛橐粋€ref或out類型的參數(shù)傳遞,都將引發(fā)編譯時錯誤。int[]list={10,20,30,40}; //定義數(shù)組foreach(intminlist)例如:C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程二、foreach語句for27C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程任務(wù)實施——創(chuàng)立自動售貨機(jī)程序使用switch多分支條件語句創(chuàng)立簡單的自動售貨機(jī)程序。用戶可以選擇相應(yīng)的商品,根據(jù)不同的商品系統(tǒng)提示不同的商品價格,運行效果如圖2-5所示。圖2-5“自動售貨機(jī)程序〞運行效果圖C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程任務(wù)實施——創(chuàng)立自動售貨機(jī)程28C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程實施步驟步驟1啟動VS,創(chuàng)立一個控制臺程序sales,在中輸入【代碼4-2】。staticvoidMain(string[]args){Console.WriteLine("請選擇商品:1=可樂2=冰紅茶3=營養(yǎng)快線4=礦泉水5=雪碧");Console.Write("請輸入您要購置的商品的代號:");stringnum=Console.ReadLine(); //等待用戶輸入數(shù)字intn=int.Parse(num); //用于存儲商品代號doubleprice=0; //用來存儲顧客消費的金額switch(n){case1:price=3.5;break;case2:price=2.5;break;case3:price=4.5;break;C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程實施步驟步驟1啟動VS,29case4:price=1.0;break;case5:price=3.5;break;default:Console.WriteLine("您選擇商品有誤!請選擇1,2,3,4,5!");break;}price=price!=0?price:0;Console.WriteLine("您消費{0}元!",price);Console.WriteLine("謝謝您的惠顧!");Console.ReadKey();}步驟2 按【F5】鍵,調(diào)試程序,在彈出的程序窗口中輸入商品數(shù)值,系統(tǒng)將顯示相應(yīng)商品的價格,假設(shè)輸入數(shù)值不在其顯示范圍內(nèi),將彈出相應(yīng)提示,參見圖2-5所示。C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程case4:步驟2 按【F5】鍵,調(diào)試程序,在30C#面向?qū)ο蟪绦蛟O(shè)計
工程教程計算機(jī)“十二五〞規(guī)劃教材工程二C#面向?qū)ο蟪绦蛟O(shè)計
工程教程計算機(jī)“十二五〞規(guī)劃教材工程C#面向?qū)ο蟪绦蛟O(shè)計工程教程工程二C#語法根底——學(xué)好C#語言的基石學(xué)習(xí)任務(wù)熟悉C#的根本編碼規(guī)那么熟悉一些特殊運算符的使用方法熟悉常用的數(shù)據(jù)類型并掌握數(shù)據(jù)類型的轉(zhuǎn)換方法熟悉C#中switch語句和foreach語句的使用方法C#面向?qū)ο蟪绦蛟O(shè)計工程教程工程二C#語法根底——學(xué)好C32C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)安排任務(wù)一熟悉C#中的根底語言元素任務(wù)二掌握C#中分支與循環(huán)語句新用法工程二C#語法根底——學(xué)好C#語言的基石C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)安排工程二C#語法根底—33C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)一熟悉C#中的根底語言元素任務(wù)說明在本任務(wù)中我們將學(xué)習(xí)C#的根本編碼規(guī)那么和根底語言元素。預(yù)備知識一、根本編碼規(guī)那么二、一些特殊的運算符三、數(shù)據(jù)類型與數(shù)據(jù)類型間的轉(zhuǎn)換C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)一熟悉C#中的根底語言元34C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔一〕標(biāo)識符和保存字常量、變量、類、方法等的名字,統(tǒng)稱為標(biāo)識符。以字母、下劃線〔_〕或@開始的一個字符序列,后面可以跟字母、數(shù)字或下劃線。另外,需要注意的是,C#語言區(qū)分大小寫,例如,Elen和elen是兩個不同的標(biāo)識符。一般情況下,變量名首字母小寫,后面各單詞首字母大寫;常量、類名、方法、屬性等首字母需大寫。一、根本編碼規(guī)那么C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔一〕標(biāo)識符和保存字常量35C#面向?qū)ο蟪绦蛟O(shè)計工程教程保存字又稱關(guān)鍵字,是指已經(jīng)定義過的字符,具有專門的意義和用途,使用者不能將它們作為變量名或過程名使用。表2-1所示為C#中的關(guān)鍵字。C#面向?qū)ο蟪绦蛟O(shè)計工程教程保存字又稱關(guān)鍵字,是指已36C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔二〕書寫規(guī)那么①每條語句以分號“;〞結(jié)尾〔注意:需要在英文狀態(tài)下輸入〕。②盡量每行只放置一條語句。③編寫語句塊時垂直對齊左括號和右括號,或者使用傾斜樣式,即左括號出現(xiàn)在行尾,右括號出現(xiàn)在行首。④對同一級別的語句建立標(biāo)準(zhǔn)的縮進(jìn)大小〔如四個空格〕,并在整個文件中一致地使用此標(biāo)準(zhǔn)。C#語言在編譯時將忽略空行和縮進(jìn)。⑤為語句添加必要的注釋,增加代碼的可讀性。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔二〕書寫規(guī)那么①每條語37C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔三〕注釋的表示方式〔3〕XML注釋方式在.NET框架中,微軟引入了一種新的注釋格式,以三個反斜杠“///〞開頭,并且包含XML標(biāo)簽〔參見【代碼2-1】〕,這種注釋方式稱為XML注釋或文檔注釋方式。〔1〕注釋一行注釋較短內(nèi)容,采用兩個斜線“//〞標(biāo)注在注釋內(nèi)容前〔2〕注釋多行在一行上不能標(biāo)注清楚,此時采用“/*〞標(biāo)注在注釋內(nèi)容前,“*/〞標(biāo)注在注釋內(nèi)容結(jié)束處。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔三〕注釋的表示方式〔3〕XML38C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#解析器可以把代碼文件中的這些XML標(biāo)記提取出來,經(jīng)過進(jìn)一步處理就可以成為外部幫助文檔,引入這種注釋方式后可省去編程人員大量后期工作。///<summary>///應(yīng)用程序的主入口點。///</summary>例如:C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#解析器可以把代碼文件39C#面向?qū)ο蟪绦蛟O(shè)計工程教程二、一些特殊的運算符〔1〕點運算符“.〞點運算符指定類型或命名空間的成員?!?〕索引運算符“[]〞用于數(shù)組、索引器,表示按[]內(nèi)指定的索引去訪問數(shù)組或索引器中的相應(yīng)元素的內(nèi)容。〔3〕轉(zhuǎn)換運算符“()〞除用于指定表達(dá)式中的運算順序外,還用于指定強(qiáng)制類型轉(zhuǎn)換。C#面向?qū)ο蟪绦蛟O(shè)計工程教程二、一些特殊的運算符〔1〕點運算40C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔4〕checked和unchecked運算符如果將一個代碼塊標(biāo)記為checked,CLR就會執(zhí)行溢出檢查,假設(shè)發(fā)生溢出,就拋出異常;如果要禁止溢出檢查,可以把代碼標(biāo)記為unchecked。byteb=255;checked{b++;}Console.WriteLine(b.ToString());byteb=255;unchecked{b++;}Console.WriteLine(b.ToString());運行這段代碼,系統(tǒng)將會拋出異常。運行這段代碼不會拋出異常,但會喪失數(shù)據(jù)——因為byte數(shù)據(jù)類型不能包含256,溢出的位會被丟掉,b變量得到的值是0。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔4〕checked和unch41C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔5〕is運算符用于檢查對象是否與給定類型兼容?!?〕as運算符as運算符用于執(zhí)行引用類型的顯式類型轉(zhuǎn)換,假設(shè)不成功那么返回null。常被用在以下形式的表達(dá)式中:expressionastype此表達(dá)式等效于:expressionistype?(type)expression:(type)nullC#面向?qū)ο蟪绦蛟O(shè)計工程教程〔5〕is運算符用于檢查對象是否42C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔7〕newnew運算符用于創(chuàng)立對象和調(diào)用構(gòu)造函數(shù),例如:Class1MyClass=newClass();〔8〕typeoftypeof運算符用于獲得系統(tǒng)原型對象的類型,即返回一個表示特定類型的對象。例如,typeof(int)表示返回類型的Type對象。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔7〕newnew運算符用于創(chuàng)立43C#面向?qū)ο蟪绦蛟O(shè)計工程教程三、數(shù)據(jù)類型與數(shù)據(jù)類型間的轉(zhuǎn)換1.內(nèi)置類型和構(gòu)造類型按照不同的劃分方法,C#語言的數(shù)據(jù)類型有以下兩種劃分方式。〔一〕數(shù)據(jù)類型C#面向?qū)ο蟪绦蛟O(shè)計工程教程三、數(shù)據(jù)類型與數(shù)據(jù)類型間的轉(zhuǎn)換144C#面向?qū)ο蟪绦蛟O(shè)計工程教程2.值類型與引用類型C#面向?qū)ο蟪绦蛟O(shè)計工程教程2.值類型與引用類型45C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#語言中類型轉(zhuǎn)換的方法有兩種:隱式轉(zhuǎn)換和顯式轉(zhuǎn)換。1.隱式轉(zhuǎn)換系統(tǒng)默認(rèn)的不必加以說明就可以進(jìn)行的轉(zhuǎn)換,轉(zhuǎn)換規(guī)那么如下:
①
字符類型可以隱式轉(zhuǎn)換為整型或浮點型,但其他類型不能隱式轉(zhuǎn)換為字符類型。②低精度的類型可以隱式轉(zhuǎn)換成高精度的類型,反之那么不行。
③
浮點型和decimal類型之間不能進(jìn)行隱式轉(zhuǎn)換,而只能進(jìn)行顯式轉(zhuǎn)換。〔二〕數(shù)據(jù)類型間的轉(zhuǎn)換C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#語言中類型轉(zhuǎn)換的方法有兩種:46C#面向?qū)ο蟪绦蛟O(shè)計工程教程2.顯示轉(zhuǎn)換將高精度數(shù)據(jù)轉(zhuǎn)換為低精度數(shù)據(jù),必須使用強(qiáng)制轉(zhuǎn)換表達(dá)式將源類型轉(zhuǎn)化為目標(biāo)類型,這種數(shù)據(jù)類型轉(zhuǎn)換方式稱為顯式轉(zhuǎn)換,又叫強(qiáng)制轉(zhuǎn)換。各數(shù)據(jù)類型可以顯式轉(zhuǎn)換的數(shù)據(jù)類型如右表所示。C#面向?qū)ο蟪绦蛟O(shè)計工程教程2.顯示轉(zhuǎn)換將高精度數(shù)47C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#支持三種顯式轉(zhuǎn)換方式:〔1〕通過圓括號“()〞轉(zhuǎn)化格式為:(目標(biāo)類型)<表達(dá)式>例如,將long類型轉(zhuǎn)化為int型,代碼如下:longi=45;intj=(int)i;〔2〕通過Convert類Convert類位于System命名空間,該類的方法都是靜態(tài)方法,可以通過“Convert.方法名(參數(shù))〞形式來使用,用于將一個值類型轉(zhuǎn)換成另一種類型。C#面向?qū)ο蟪绦蛟O(shè)計工程教程C#支持三種顯式轉(zhuǎn)換方式:〔1〕48C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔3〕通過數(shù)據(jù)類型自身的Parse方法在.NETFramework類庫的System命名空間里,任何系統(tǒng)預(yù)定義的數(shù)據(jù)類型都有其同名的類,Parse()方法就是這些類的一個靜態(tài)方法,作用是把Parse()方法中給定的內(nèi)容轉(zhuǎn)換為調(diào)用該方法的類類型數(shù)據(jù)。例如,Int32.Parse("數(shù)字字符串")或Int.Parse("數(shù)字字符串")即表示將數(shù)字字符串轉(zhuǎn)換為32位有符號整數(shù)。C#面向?qū)ο蟪绦蛟O(shè)計工程教程〔3〕通過數(shù)據(jù)類型自身的Pars49C#面向?qū)ο蟪绦蛟O(shè)計工程教程inti=100;
stringstr=i.Tostring();在C#中所有數(shù)據(jù)類型都有Tostring()方法。因此,由值轉(zhuǎn)化為字符串時就又多了一種方式。例如:i.Tostring()和的區(qū)別如下:當(dāng)返回的數(shù)據(jù)類型中有可能出現(xiàn)null值時:假設(shè)調(diào)用tostring方法,會返回NullReferenceException異常;假設(shè)使用Convert.ToString()方法,不會拋出異常而是返回空字符串。C#面向?qū)ο蟪绦蛟O(shè)計工程教程inti=100;
str50C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)實施——繪制夢幻曲線總體思路在VS中創(chuàng)立一個窗口程序,在該窗口中添加一個按鈕,然后在按鈕的單擊事件中編寫繪制夢幻曲線的代碼。花瓣圖形是由無數(shù)線段組成的,這些線段是由正弦函數(shù)和余弦函數(shù)設(shè)置的兩點坐標(biāo)〔x1,y1〕和〔x2,y2〕之間繪制的直線。程序效果如右圖所示。C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)實施——繪制夢幻曲線總體思路51C#面向?qū)ο蟪绦蛟O(shè)計工程教程步驟1啟動VS,執(zhí)行“文件〞→“新建〞→“工程〞菜單命令,在彈出的“新建工程〞對話框中選擇新建“Windows窗體應(yīng)用程序〞后,單擊“確定〞按鈕。選中新建的Form1窗體,然后單擊工具箱按鈕,將“所有Windows窗體〞組中的button按鈕拖入Form1窗體左上方并更改Form1窗體和botton按鈕的屬性,將其顯示的文字改為“繪制夢幻曲線〞,如以下圖所示。實施步驟C#面向?qū)ο蟪绦蛟O(shè)計工程教程步驟1啟動VS,執(zhí)行“文件〞52C#面向?qū)ο蟪绦蛟O(shè)計工程教程步驟2調(diào)整窗體和按鈕的大小,然后雙擊該按鈕,翻開按鈕的單擊事件函數(shù)編寫窗口,編寫繪制夢幻曲線的代碼,如【代碼2-3】所示?!敬a2-3】繪制夢幻曲線privatevoidbutton1_Click(objectsender,EventArgse){floatA,E,M_PI,x1,y1,x2,y2;intD,i;D=100;圓周率,以f結(jié)尾表示以float類型存儲數(shù)據(jù)for(i=0;i<=720;i++)//繪制圖形{A=i*M_PI/360;E=(float)(D*(1+System.Math.Sin(4*A)));//(float)用于將數(shù)據(jù)進(jìn)行強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換x1=(float)(320+E*System.Math.Cos(A));x2=(float)(320+E*System.Math.Cos(A+M_PI/5));y1=(float)(240+E*System.Math.Sin(A));y2=(float)(240+E*System.Math.Sin(A+M_PI/5));Penpen=Pens.Red;//設(shè)置畫筆顏色為紅色Graphicsgdi=this.CreateGraphics();//生成Graphics對象gdi.DrawLine(pen,x1,y1,x2,y2);//使用DrawLine方法在點(x1,y1)和點(x2,y2)間畫一條直線}}步驟3 翻開“調(diào)試〞菜單,在彈出的下拉菜單中選擇“開始執(zhí)行(不調(diào)試)〞選項,在彈出的程序窗口中單擊“繪制夢幻曲線〞按鈕,我們將看到一個紅色的花瓣圖形。C#面向?qū)ο蟪绦蛟O(shè)計工程教程步驟2調(diào)整窗體和按鈕的大小,53C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)二掌握C#中分支與循環(huán)語句新用法任務(wù)說明C#中根底運算符和表達(dá)式的使用,if分支語句、for循環(huán)和while循環(huán)語句的使用與C/C++中相似,這里我們只介紹分支與循環(huán)語句的不同:一是switch語句的用法不太相同,二是新增加了foreach語句。預(yù)備知識一、switch語句二、foreach語句C#面向?qū)ο蟪绦蛟O(shè)計工程教程任務(wù)二掌握C#中分支與循環(huán)54C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程一、switch語句switch語句的一般形式如下:switch(表達(dá)式){case常量表達(dá)式1:語句組1;break;case常量表達(dá)式2:語句組2;break;case常量表達(dá)式3:語句組3;break;……case常量表達(dá)式n:語句組n;break;default:語句組n+1;break;}該語句的功能是:首先計算switch語句中表達(dá)式的值〔表達(dá)式一般為整型、字符或字符串類型〕,當(dāng)表達(dá)式的值與某一個case后面常量表達(dá)式的值匹配時,就執(zhí)行該case后面的語句,執(zhí)行完后退出switch語句;假設(shè)表達(dá)式的值與所有case后面的常量表達(dá)式的值都不匹配,那么執(zhí)行default后面的語句。C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程一、switch語句swit55C#面向?qū)ο蟪绦虺绦蛟O(shè)計工程教程使用switch語句時應(yīng)注意以下幾點:①每個case后面的常量表達(dá)式必須各不相同,否那么會出現(xiàn)矛盾,即一個值有多種選擇。②各個case語句和default語句出現(xiàn)的順序?qū)?zhí)行結(jié)果沒有影響。③在每一個case后面,都必須有一個跳轉(zhuǎn)語句〔如break、goto等〕。C#中不支持C或C++中的“貫穿原那么〞〔即某假設(shè)case語句后面沒有break,那么執(zhí)行完case語句后不再進(jìn)行判斷,程序?qū)⑥D(zhuǎn)到下一個case語句繼續(xù)執(zhí)行〕,如果要在執(zhí)行一個ca
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年山東高速國際合作公司招聘備考題庫及完整答案詳解一套
- 2025下半年浙江麗水市遂昌縣部分機(jī)關(guān)事業(yè)單位招聘編外用工10人備考題庫及答案詳解(新)
- 2025河南漯河市住房和城鄉(xiāng)建設(shè)局所屬事業(yè)單位人才引進(jìn)1人備考題庫及參考答案詳解
- 2025福建寧德市福安市農(nóng)業(yè)農(nóng)村局招募特聘農(nóng)技員1人備考題庫及一套答案詳解
- 2025年甘肅科技館寒假志愿者招募165人備考題庫有答案詳解
- 2025秋季廣西北海市中日友誼中學(xué)學(xué)期教師招聘備考題庫及完整答案詳解
- 2026廣西南寧市青秀區(qū)長堽小學(xué)春季學(xué)期教師招聘備考題庫及完整答案詳解1套
- 2025年12月深圳市公辦中小學(xué)面向2026年應(yīng)屆畢業(yè)生招聘教師888人備考題庫及1套參考答案詳解
- 2025年漯河市交通運輸局所屬事業(yè)單位人才引進(jìn)2名備考題庫及一套參考答案詳解
- 2026年商洛市鎮(zhèn)安慧源學(xué)校教師招聘備考題庫完整參考答案詳解
- 2025中國機(jī)械工業(yè)集團(tuán)有限公司(國機(jī)集團(tuán))社會招聘19人筆試參考題庫附答案
- 淺析煤礦巷道快速掘進(jìn)技術(shù)
- 成人留置導(dǎo)尿標(biāo)準(zhǔn)化護(hù)理與并發(fā)癥防控指南
- 2025年勞動關(guān)系協(xié)調(diào)師綜合評審試卷及答案
- CIM城市信息模型技術(shù)創(chuàng)新中心建設(shè)實施方案
- 二年級上冊100以內(nèi)的數(shù)學(xué)加減混合口算題500道-A4直接打印
- 班級互動小游戲-課件共30張課件-小學(xué)生主題班會版
- 2025至2030全球及中國智慧機(jī)場建設(shè)行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025年二級造價師《土建工程實務(wù)》真題卷(附解析)
- 智慧農(nóng)業(yè)管理中的信息安全對策
- 2025年河南省康養(yǎng)行業(yè)職業(yè)技能競賽健康管理師賽項技術(shù)工作文件
評論
0/150
提交評論