版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
網絡編程基礎教材:《C#程序設計教程》任課教師:段趙磊上課時間:1、2、3、7、8、9、10、11、15、16、17周周二第二大節(jié)1、3、7、8、9、10、11、15、16周周四第五大節(jié)單雙周都上電教樓404實驗時間:第1、2、3、9、10、11、12、13、15、16周周四中午12:10-13:50網絡運維13-1、2第1、2、3、7、8、9、10、11、16、17周周四第四大節(jié)16:10-17:50網絡工程13-1實驗樓302
第1章C#代碼編寫基礎5Ch1C#代碼編寫基礎1.1C#語言和VS2012開發(fā)環(huán)境1.2C#項目的組織1.3控制臺應用程序1.4Windows窗體應用程序1.5WPF和Silverlight應用程序1.6獨立應用程序和瀏覽器運行的應用程序1.1C#語言和VS2012開發(fā)環(huán)境1.1.1C#語言和.NET框架1.1.2VS2012開發(fā)環(huán)境71.1.1C#語言和.NET框架C#(讀作“Csharp”)是一種完全面向對象的基于.NET框架的高級程序設計語言。C#的開發(fā)背景
C#是從C和C++演變而來的,并且結合了C/C++的強大功能、Java的面向對象特性和VisualBasic的易用性,從而成為一種簡單的類型安全、面向對象的編程語言,也是.NET公共語言運行環(huán)境的內置語言。C#代碼可以從公共語言運行庫的服務中獲益。C#是唯一為.NETFramework設計的語言,是用于.NET開發(fā)的最好選擇。C#語言的特點C#語言的特點.NET框架為C#提供了一個強大的、易用的、邏輯結構一致的程序設計環(huán)境。C#具有如下的特點:專門為快速編寫在.NET框架上運行的各種應用程序而設計。語法簡潔精心的面向對象設計與Web的緊密結合可靠的安全性與錯誤處理可靠的版本控制技術靈活性和兼容性。1.1.1C#語言和.NET框架Microsoft.NET框架定義Microsoft.NET框架是生成、運行.NET應用程序和WebService的組件庫。包含公共語言運行庫類庫類庫為開發(fā)和運行.NET應用程序提供了各種支持類庫是與公共語言運行庫緊密集成的可重用的類的集合。1.1.1C#語言和.NET框架Microsoft.NET框架特點:一種框架多種語言支持C#語言、VB.NET語言、C++和C++.NET語言、F#語言等高級語言注意用基于.NET框架開發(fā)的應用程序,不論使用的是哪種高級語言,均必須在安裝了.NET框架的計算機上才能運行。這種架構與Java應用程序必須由Java虛擬機支持相似。什么是.NET
.NET框架(.NETFramework)是由微軟開發(fā),一個致力于快速應用開發(fā)、平臺無關性和網絡透明化的軟件開發(fā)平臺。.NET包含許多有助于互聯(lián)網和內部網應用迅捷開發(fā)的技術。.NETFramework可以創(chuàng)建Windows應用程序、Web應用程序、Web服務和其他各種類型的應用程序。.NET框架是一個多語言組件開發(fā)和執(zhí)行環(huán)境,它提供了一個跨語言的統(tǒng)一編程環(huán)境。.NET框架的目的是便于開發(fā)人員更容易地建立Web應用程序和Web服務,使得Internet上的各應用程序之間,可以使用Web服務進行溝通。
.NET平臺介紹.NET平臺介紹1.1.1C#語言和.NET框架Microsoft.NET框架--公共語言運行庫公共語言運行庫是.NET框架的基礎,為多種編程語言提供統(tǒng)一的運行環(huán)境。1.1.1C#語言和.NET框架Microsoft.NET框架--公共語言運行庫中間語言IL使用.NET框架提供的編譯器可直接將源程序編譯為.EXE或者.DLL文件,此時編譯出來的程序代碼并不是CPU能直接執(zhí)行的機器代碼,而是一種中間語言IL代碼(MicrosoftIntermediateLanguage,MSIL)使用中間語言代碼的優(yōu)點可以實現(xiàn)平臺無關性,即與特定的CPU無關;只要能將某種語言編譯為IL代碼,就可以實現(xiàn)這些語言之間的交互操作。1.1.1C#語言和.NET框架即時編譯執(zhí)行時CLR會將需要的IL代碼裝入內存,通過JIT編譯器(Just-In-Time)將其編譯成所用平臺的CPU可直接執(zhí)行的機器代碼。即時編譯并不是一次把整個應用程序全部編譯完,而是只編譯它調用的那部分代碼所在的模塊。為什么要采用即時編譯JIT編譯器可以有效地提高系統(tǒng)的性能??衫矛F(xiàn)有CPU和GPU硬件提供的功能即時生成優(yōu)化后的可執(zhí)行代碼。1.1.2VS2012開發(fā)環(huán)境VS2012開發(fā)環(huán)境1.安裝VS2012速成版(ExpressEdition)--免費專業(yè)版(ProfessionalEdition)旗艦版(UltimateEdition)--本書調試用的環(huán)境2.安裝VS2012SP33.配置VS2012開發(fā)環(huán)境的界面風格(可選)深色淺色1.1.2VS2012開發(fā)環(huán)境1.2C#項目的組織1.2.1命名空間1.2.2using關鍵字1.2.3Main方法1.2.4代碼注釋1.2.5通過斷點調試C#程序1.2.6C#代碼編寫命名規(guī)范1.2C#項目的組織C#源文件的擴展名為.cs,如Welcome.cs。一個C#源文件中一般只包含一個類【建議這樣做】,但也可以包含多個類,文件名和類名可以相同【建議相同】,也可以不同【包含多個類時一般不和類名相同】。調試環(huán)境下:項目編譯后生成的文件默認保存在項目的bin\Debug文件夾下。1.2.1命名空間命名空間是對類的一種劃分,類似于目錄和文件的劃分形式。命令空間是一種邏輯劃分,而非物理上的存儲分類。命名空間命名空間命名空間命名空間命名空間命名空間命名空間命名空間類類類………………1.2.1命名空間靜態(tài)方法調用命名空間.命名空間….命名空間.類名.靜態(tài)方法名(參數(shù),…);例如:System.Console.WritleLine(”HelloWorld!”);實例方法調用①實例化:命名空間…命名空間.類名<實例名>=new類名稱(參數(shù),…)②方法調用:實例名.方法名(參數(shù)…)例如:System.Text.StringBuilderb=newStringBuilder(); b.Append(“abcd”);
1.2.2using關鍵字using關鍵字指定引用的命名空間,例如:usingSystem.Windows.Forms;簡化命名空間的層次表達形式,例如:usingWinForm=System.Windows.Form;作為語句,定義一個范圍。程序執(zhí)行到“}”時,就會自動釋放using后小括號中創(chuàng)建的對象例如:using(TextWriterw=File.CreateText("test.txt"))
{w.WriteLine("Lineone");w.WriteLine("Linetwo");w.WriteLine("Linethree");
}1.2.3Main方法Main方法要求應用程序入口方法名規(guī)定為Main。必須聲明為publicstatic返回值只能是void或者int??梢苑旁谌魏我粋€類中。1.2.4代碼注釋常規(guī)注釋方式單行注釋:以“//”符號開始,任何位于“//”符號后的本行文字都視為注釋塊注釋:以“/*”開始,“*/”結束。任何介于這對符號之間的文字塊都視為注釋。XML注釋方式“///”符號是一種XML注釋方式在用戶自定義的類型如類、接口、枚舉等或者在其成員上方,或者命名空間的聲明上方連續(xù)鍵入3個斜杠字符可以在鍵入方法名和參數(shù)的過程中看到用XML注釋的智能提示。1.2.5通過斷點調試C#程序斷點調試是編程人員必備素質!?。?!利用斷點查找程序的邏輯錯誤,是常用的手段之一1.設置和取消斷點單擊某代碼行左邊的灰色區(qū)域。單擊設置,再次單擊取消設置。鼠標右擊某代碼行,選擇【斷點】
【插入斷點】或者【刪除斷點】。單擊某代碼行,直接按<F9>鍵進行設置或取消設置。2.利用斷點調試程序按<F5>執(zhí)行到斷點,觀察后再按<F5>執(zhí)行到下一斷點<Shift>+<F5>鍵終止調試。1.2.6C#代碼編寫命名規(guī)范類名、方法名和屬性名全部使用Pascal命名法,即所有單詞連寫,每個單詞的第一個字母大寫,其他字母小寫。例如HelloWorld、GetData等。變量名、一般對象名、控件對象名以及方法的參數(shù)名全部使用Camel命名法,即所有單詞連寫,但是第一個單詞全部小寫,其他每個單詞的第一個字母大寫。例如:userName、userAge等。如果是私有字段,為了和具有相同名字的屬性名區(qū)分,私有的字段名也可以用下劃線(“_”)開頭,例如屬性名為Age,私有字段名可以為age或者_Age。1.3控制臺應用程序1.3.1控制臺應用程序的輸入與輸出1.3.2在控制臺應用程序中輸出格式化數(shù)據1.3.1控制臺應用程序的輸入與輸出控制臺輸出Console.Write();把各種類型的數(shù)據或對象轉換成字符串寫入標準輸出流Console.WriteLine();與Write的區(qū)別:自動輸出回車、換行符(“\r\n”);例如intage=18;strings="abc";Console.Write(age);Console.Write(s);Console.WriteLine(age);Console.WriteLine(s);1.3.1控制臺應用程序的輸入與輸出控制臺輸入Console.ReadKey();標準輸入流讀取用戶按下的字符或功能鍵。例如:ConsoleKeyInfoc=Console.ReadKey();Console.ReadLine();從標準輸入流讀取一行字符。例如:
strings=Console.ReadLine();1.3.1控制臺應用程序的輸入與輸出快速鍵入C#代碼方法1:連續(xù)按兩次<Tab>鍵方法2:在要插入代碼段的位置處,用鼠標右擊選擇“外側代碼”的辦法插入代碼段。例如:鍵入“for”三個字母后,連續(xù)按兩次<Tab>鍵,觀察系統(tǒng)自動插入的代碼段。1.3.2在控制臺應用程序中輸出格式化數(shù)據在Console.Write和Console.WriteLine方法中,可直接定義數(shù)據轉換為字符串后的輸出格式Console.WriteLine("格式化表示",參數(shù)序列);Console.Write("格式化表示",參數(shù)序列);例如:intx=10,y=20,z=30;//輸出10+20+30=60Console.WriteLine("{0}+{1}+{2}={3}",x,y,z,x+y+z);//輸出60=20+30+10Console.WriteLine("{3}={1}+{2}+{0}",x,y,z,x+y+z);1.3.2在控制臺應用程序中輸出格式化數(shù)據{N[,M][:格式碼]}格式化輸出形式N—從零開始的整數(shù),表示第幾個參數(shù)。M—可選參數(shù),整數(shù),表示最小長度。若參數(shù)N的長度小于M,就用空格填充;如果M為負,則左對齊;如果M為正,則右對齊;格式碼—可選參數(shù),格式化代碼樣式。格式碼:有默認位數(shù),可用整數(shù)指定位數(shù);
C—貨幣形式、D—十進制形式、F—固定精度形式、E—指數(shù)形式、N—用逗號分隔千位數(shù)字、P—百分比形式、X—十六進制形式占位符:0—強制占位符、#—有效占位符1.3.2在控制臺應用程序中輸出格式化數(shù)據利用string.Format方法格式化字符串先用String.Format方法拼接字符串,再用WriteLine方法輸出;既可以在控制臺應用程序中使用,也可以在其他應用程序中(WinForm、WPF等)使用。例如:inti=123;//d6表示不夠6位左邊補零strings=string.Format("{0:d6}",i); Console.WriteLine(s);1.3.2在控制臺應用程序中輸出格式化數(shù)據3.利用ToString方法格式化字符串如果是一個變量,使用ToString方法更簡單。Console、WinForm、WPF、Silverlight、ASP.NET等應用程序都可以利用string.Format方法或者ToString方法定義數(shù)據的格式。例如:intn1=12;strings1=n1.ToString("X4");//X格式表示用十六進制輸出。結果為:000Cstrings2=n1.ToString("d5");//結果:00012
4.控制臺應用程序示例【例1-1】演示控制臺應用程序的基本設計方法,以及如何在一個解決方案中包含多個應用程序項目。Console.Write("請輸入x和y(例如12,15),然后按回車鍵:");strings=Console.ReadLine();string[]a=s.Split(',');intx=int.Parse(a[0]);inty=int.Parse(a[1]);intz=ClassLibraryExample.MyClass.Multiplication(x,y);Console.WriteLine("x*y={0}",z);Console.WriteLine("請按任意鍵結束程序。");Console.ReadKey();1.4Windows窗體應用程序1.4.1Windows窗體應用程序的特點1.4.2Windows窗體應用程序的啟動和退出1.4.3窗體的創(chuàng)建、顯示、隱藏和關閉1.4.4消息框(MessageBox)1.4.5利用WinForm控件實現(xiàn)輸入和輸出1.4.6錯誤提示(ErrorProvider)1.4.1Windows窗體應用程序的特點Windows窗體應用程序是在WindowsXP操作系統(tǒng)上開發(fā)客戶端應用程序的主要開發(fā)模型,這種開發(fā)模型利用GDI+和操作系統(tǒng)交互。Windows窗體應用程序現(xiàn)狀WinForm已有多年的歷史,其技術高度成熟,如果開發(fā)不包含動畫、多媒體(音頻視頻)以及三維圖形等高級功能的程序,使用WinForm應用程序可獲得比較高的開發(fā)效率和運行性能。。1.4.1Windows窗體應用程序的特點GDI(GraphicsDeviceInterface,圖形設備接口)是Windows2000操作系統(tǒng)內核提供的功能,提供二維圖形和文本處理功能以及功能有限的圖像處理功能沒有三維圖形和音頻視頻等多媒體處理功能。隨著Windows2000操作系統(tǒng)退出歷史舞臺,使用GDI技術的開發(fā)人員也越來越少。GDI+是WindowsXP操作系統(tǒng)內核提供的功能,在GDI的基礎上增加了一套基于.NET框架的編程接口,從而讓我們能使用C#快速實現(xiàn)窗體界面繪制和繪圖功能。GDI+沒有GPU硬件加速功能,所有圖形圖像處理功能全部都是靠軟件來實現(xiàn)。1.4.2Windows窗體應用程序的啟動和退出窗體應用程序的啟動和停止使用Application類提供的靜態(tài)方法來啟動、停止應用程序Run方法:用于在當前線程上啟動應用程序消息循環(huán),并顯示窗體。Exit方法:用于停止消息循環(huán)。觀察Program.cs中的Main方法。1.4.3窗體的創(chuàng)建、顯示、隱藏和關閉如何在代碼中打開一個新窗體Form2fm=newForm2();fm.Show();
或者Form2fm=newForm2();fm.ShowDialog();觀察Show與ShowDialog之間的區(qū)別如何在代碼中隱藏一個窗體“無模式”窗口:調用Hide方法隱藏。this.Hide();隱藏其他窗體可以調用實例名的Hide方法,例如:myForm.Hide();窗體隱藏后,其實例仍在,可重新調用Show方法再次顯示1.4.3窗體的創(chuàng)建、顯示、隱藏和關閉如何在代碼中關
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版商業(yè)地產租賃市場分析報告合同3篇
- 拯救企鵝課程設計
- 2024年南京高端別墅買賣合同終止及補償協(xié)議2篇
- 2024南海實驗學校校園綠化養(yǎng)護與物業(yè)服務合同3篇
- 2024年新能源汽車租賃業(yè)務合同規(guī)范版2篇
- 2024年農業(yè)科技示范園苗木種植與技術研發(fā)承包合同3篇
- 早教倒水課程設計
- 機加工課程設計報告
- 2024版產品功能介紹視頻拍攝制作合同2篇
- 數(shù)字時鐘課程設計背景
- 《如何培養(yǎng)良好心態(tài)》課件
- 《中醫(yī)養(yǎng)生腎》課件
- 2024年二級建造師考試建筑工程管理與實務試題及解答參考
- 生產車間關鍵崗位培訓
- 鄉(xiāng)鎮(zhèn)(街道)和村(社區(qū))應急預案編制管理百問百答
- 醫(yī)院培訓課件:《乳腺癌解讀》
- 中國高血壓防治指南(2024年修訂版)核心要點解讀
- 湖州師范學院《中學歷史教學論》2023-2024學年第一學期期末試卷
- 2024年人教版八年級語文上冊期末考試卷(附答案)
- 汽車乘員仿真RAMSIS操作指南
- 《鄉(xiāng)土中國》家族與男女有別 課件 統(tǒng)編版高中語文必修上冊
評論
0/150
提交評論