




已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章:C#簡介1.1 什么是.Net Framework特點(diǎn):不限操作系統(tǒng),不限應(yīng)用程序類型,不限訪問語言(通用類型系統(tǒng),Common Style System , CST)。包含:代碼庫、.Net公共語言運(yùn)行庫(Common Language Runtime ,CLR)(負(fù)責(zé)管理用.Net 庫開發(fā)的所有應(yīng)用程序的運(yùn)行)MISL和JIT編譯過程:C#代碼Microsoft中間語言(Microsoft Intermediate Language , MSIL)由VS完成本機(jī)代碼 由Just-In-Time 編譯器即JIT完成程序集編譯應(yīng)用程序時(shí),所創(chuàng)建的MSIL代碼存儲在一個(gè)程序集中,程序集包括可執(zhí)行應(yīng)用程序文件(.exe)和其他應(yīng)用程序使用的庫(.dll)。除包含MSIL代碼外還包含元信息(即程序集中包含的數(shù)據(jù)信息,也稱為元數(shù)據(jù))和可選的資源(MSIL使用的其他數(shù)據(jù),例如聲音文件和圖片)。元信息允許程序集是完全自我描述的,不會出現(xiàn)無法將需要的數(shù)據(jù)添加到系統(tǒng)注冊表中的情況。不必把運(yùn)行應(yīng)用程序所需要的所有信息都安裝到一個(gè)地方??梢跃帉懸恍┐a,執(zhí)行多個(gè)應(yīng)用程序所要求的任務(wù)。此時(shí),通常把這些可重用的代碼放在所有應(yīng)用程序都訪問的地方。在.Net Framework中,這個(gè)地方是全局程序集高速緩存(Global Assembly Cache ,GAC)。方法是:將包含代碼的程序集放在包含該高速緩存的目錄下即可。托管代碼用.Net Framework編寫的代碼在執(zhí)行時(shí)是托管的,即CLR管理著運(yùn)行程序,其方式是管理內(nèi)存、處理安全性,以及允許進(jìn)行跨語言調(diào)試等。在C#中,只能編寫在托管環(huán)境下運(yùn)行的代碼,我們使用CLR的托管功能,讓.Net自己與操作系統(tǒng)交互。垃圾回收提醒:需要許多內(nèi)存才能運(yùn)行的代碼應(yīng)自己執(zhí)行這樣的檢查,而不是坐等垃圾回收。鏈接在編譯為MSIL語言的C#代碼不一定包含在單獨(dú)的文件中,可以把應(yīng)用程序代碼放在多個(gè)源代碼文件中,再把它們編譯到一個(gè)程序集中,這個(gè)過程稱為鏈接。好處在于處理幾個(gè)較小的文件比處理一個(gè)大文件簡單的多。1.2 什么是C#強(qiáng)大的語言:在C#中與C+比較高級的功能等價(jià)的功能(例如直接訪問和處理系統(tǒng)內(nèi)存),只能在標(biāo)記為“不安全”的代碼中使用。類型安全的語言:在類型之間轉(zhuǎn)換時(shí),必須遵守嚴(yán)格的規(guī)則。第三章:變量和表達(dá)式(P22)3.1 C#的基本語法區(qū)分大小寫代碼的突出顯示功能:#region Name #endregion3.2 變量3.2.1 簡單類型(P26)String的字符數(shù)沒有上限。占位符(格式字符串)的使用舉例:Int myInteger = 17;String myString = “blarblar”;Console.WriteLine(“01”,myInteger,myString);3.2.2 變量的命名(P30)基本變量命名規(guī)則:變量名的第一個(gè)字符必須是字母、_或者,其后的字符可以是字母下劃線或數(shù)字。命名約定:Microsoft 建議,對于簡單的變量,使用camelCase規(guī)則,而對于比較高級的命名則使用PascalCase。3.2.3 字面值(P31)逐字指定的字符串字面值:”C:TempMyDirMyFile.Doc”;注意:字符串是引用類型,而其他類型都是值類型,所以字符串也可以指定null值,即字符串變量不引用字符串。3.2.4 變量的聲明和賦值3.3 表達(dá)式(P34)3.3.1 數(shù)學(xué)運(yùn)算符舉例說明運(yùn)算符的位置與影響。問:int var1, var2 = 5, var3 = 6;var1 = var2+ * -var3. var1的值是多少?答:5*5=25 把運(yùn)算符放在操作數(shù)的前面,則操作數(shù)實(shí)在進(jìn)行其他任何計(jì)算前受到運(yùn)算符的影響,而把運(yùn)算符放在操作數(shù)的后面,則操作數(shù)是在完成表達(dá)式的計(jì)算后受到運(yùn)算符的影響。3.3.2 賦值運(yùn)算符(P38)3.3.3 運(yùn)算符的優(yōu)先級3.3.4命名空間Using用法:1、簡化對已創(chuàng)建命名空間中包含名稱的訪問,例:Namespace LevelOne/nameOne defined;Using LevelOne;/nameOne.2、為命名空間提供一個(gè)別名,作為using語句的一部分LevelOne命名空間中的代碼把LevelOne.NameThree引用為NameThree,把LevelOne.LevelTwo.NameThree引用為LT.LevelTwo.NameThree。如果using語句聲明如下:這樣全局命名空間中的代碼和LevelOne命名空間就可以使用LT.NameThree。注意:using語句本身不能訪問另一個(gè)空間中的名稱,除非命名空間中的代碼以某種方式鏈接到項(xiàng)目上,或者代碼是在該項(xiàng)目的源文件中定義的,或在鏈接到該項(xiàng)目的其他代碼中定義的。Using語句只是便于我們訪問這些名稱,減少代碼量。第四章:流程控制(P44)4.1 布爾邏輯條件布爾運(yùn)算符&和|運(yùn)算符與&和|運(yùn)算符的區(qū)別是性能比較好:如果&的第一個(gè)操作數(shù)為false,就不需要考慮第二個(gè)操作數(shù)的值了,同樣,如果第一個(gè)操作數(shù)是true,|運(yùn)算符就直接返回true,無需考慮第二個(gè)操作數(shù)的值。而&和|的操作數(shù)總是要計(jì)算的。故要盡可能使用&和|。4.1.1 位運(yùn)算符ab相當(dāng)于a/2并丟棄余數(shù)進(jìn)行b次。4.1.2 布爾賦值運(yùn)算符(P50)&=、|=、=、=4.1.3 運(yùn)算符的優(yōu)先級更新4.2 goto 語句(P52)4.3 分支?:運(yùn)算符最常見用法:Console.WriteLine(“In 0 year1 you will have a balance of 2” , totalYears , totalYears = 1 ? ” : ”s” , balance);注意:Switch分支中,一個(gè)case語句結(jié)束不能進(jìn)入下一個(gè)case,但有一種情況例外,即一次檢查多個(gè)條件,如下:4.4 循環(huán)4.4.1 do循環(huán)do循環(huán)的結(jié)構(gòu)如下:do while();提示:while后的分號是必須有的。4.4.2 while循環(huán)4.4.3 for 循環(huán)4.4.4 循環(huán)的中斷(P69)break:立即終止循環(huán)。continue :立即終止當(dāng)前循環(huán),繼續(xù)執(zhí)行下一次循環(huán)。goto :可以跳出循環(huán)到已標(biāo)志好的位置上。return:跳出循環(huán)及其包含的函數(shù)。第五章 變量的更多內(nèi)容(P73)5.1.1 隱式轉(zhuǎn)換 隱式轉(zhuǎn)換規(guī)則是:任何類型A,只要其取值范圍完全包含在類型B的取值范圍內(nèi),就可以隱式轉(zhuǎn)換到類型B。其他具體見釋疑文檔。5.1.2 顯式轉(zhuǎn)換(P75)兩個(gè)關(guān)鍵字checked(expression) 和unchecked(expression)例:short A = 267;byte B;B = checked(byte)A);5.1.3 使用Convert命令進(jìn)行顯示轉(zhuǎn)換52 復(fù)雜的變量類型枚舉,結(jié)構(gòu),數(shù)組5.2.1 枚舉(P81)Enum typeName Value1; Value2;ValueN;聲明這個(gè)新類型的變量:TypeName varName;varName = typeName.value;枚舉類型可提取的每個(gè)值都存儲為該基本類型的一個(gè)值,在默認(rèn)情況下,該類型為int。在枚舉聲明中添加類型,就可以指定其他基本類型:Enum typeName :underlyingType Value1;Value2; ValueN;枚舉的基本類型可以是byte , sbyte , short , ushort , int , uint , long ,ulong.還可以使用一個(gè)值作為另一個(gè)枚舉的基礎(chǔ)值。要獲得枚舉的字符串值,可以使用Convert.ToString(),使用(String)顯示轉(zhuǎn)換是不行的,因?yàn)樾枰M(jìn)行的處理并不緊緊是把存儲在枚舉變量里中的數(shù)據(jù)放在string變量中,而是更復(fù)雜一些。另外,也可以使用變量本身的ToString()命令。也可以把string轉(zhuǎn)換為枚舉值,但其語法略復(fù)雜一些。有一個(gè)特定的命令用于這種類型的轉(zhuǎn)換,即Enum.Parse(),使用方式如下:(enumberationType)Enum.Parse(typeof(enumberationType),enumberationValueString);5.2.2 結(jié)構(gòu)(P85)struct 要讓調(diào)用結(jié)構(gòu)的代碼訪問該結(jié)構(gòu)的數(shù)據(jù)成員,可用關(guān)鍵字public。5.2.3 數(shù)組(P87)1、聲明數(shù)組數(shù)組的初始化有兩種方式:可以以字面形式指定數(shù)組的完整內(nèi)容,也可以指定數(shù)組的大小,再使用關(guān)鍵字new初始化所有的數(shù)組元素。Int myIntArray = 1,2,3,4,5;Int myIntArray = new int5;(各元素默認(rèn)數(shù)值為0)也可以使用非常量的變量來進(jìn)行初始化:Int myIntArray = new intarraySize;也可以兩者結(jié)合的方式聲明,數(shù)組大小必須與元素個(gè)數(shù)相匹配:Int myIntArray = new int51,2,3,4,5;也可以使用非常量的變量來進(jìn)行初始化,但該變量必須是常量Const int arraySize = 5;Int myIntArray = new intarraySize1,2,3,4,5;2、foreach循環(huán)foreach( in ) /can use for each elementforeach 對訪問數(shù)組只進(jìn)行只讀訪問,不能修改。3、多維數(shù)組double, hillHight = 1,2,3,4,2,3,4,5,3,4,5,6;第一位指定花括號,第二位指定花括號內(nèi)的元素。4、數(shù)組的數(shù)組聲明:Int jaggedIntArray;初始化的兩種方式:可以初始化包含其他數(shù)組的數(shù)組,然后依次初始化子數(shù)組:jaggedIntArray = new 2;jaggedIntArray0 = new int 3;jaggedIntArray1 = new int 4;也可以jaggedIntArray = new int3=new int1,2,3,new int1,new int2,3;也可以簡化,將數(shù)組的聲明和初始化放在一行上:Int jaggedIntArray = new int 1,2,new int 2,new int 3; 對變長數(shù)組可以使用foreach但通常需要嵌套該循環(huán),才能得到實(shí)際的數(shù)據(jù)這是因?yàn)閿?shù)組divisors1To10包含int元素,而不是int元素,必須循環(huán)每個(gè)子數(shù)組及該數(shù)組本身: 5.3 字符串的處理(P94)1、將字符串轉(zhuǎn)為char數(shù)組:string myString = “Hello world!”;char charArray = myString.toCharArray(); 2、將字符串轉(zhuǎn)換為大寫或小寫形式:.ToLower(),.ToUpper3、刪除字符串中的空格:.Trim();4、刪除其他字符5、刪除字符串前面或后面的空格.TrimStart();.TrimEnd();6、處理字符串的空格,在字符串的左邊或右邊添加空格以達(dá)到要求長度.PadLeft();.PadRight();7、提供要添加到字符串上的字符String myString = “Aligned”;myString = myString.PadLeft(10,-);8、按提供符號拆分字符串Char separator = ;myString.Split(separator);第六章:函數(shù)(P100)第七章:調(diào)試和錯(cuò)誤處理(P126)7.1 Visual Studio 中的調(diào)試7.1.1 非中斷(正常)模式下的調(diào)試輸出調(diào)試信息Debug.WriteLine();僅在調(diào)試模式下運(yùn)行Trace.WriteLine();可用于發(fā)布程序由System.Diagnostics命名空間提供1、 跟蹤點(diǎn)2、 診斷輸出與跟蹤點(diǎn)(P134)7.1.2 中斷模式下的調(diào)試(P134)1、進(jìn)入中斷模式2、監(jiān)視變量的內(nèi)容(P138)自動(dòng)窗口(Autos)當(dāng)前使用變量和前面的語句(Ctrl+D,A)局部變量(Locals)作用域內(nèi)的所有變量(Ctrl+D,L)監(jiān)視(WatchN)可定制的變量和表達(dá)式3、 單步執(zhí)行代碼(P140)中斷模式下的程序流Step into:執(zhí)行并移動(dòng)到下一個(gè)要執(zhí)行的語句上Step over:同上,但不進(jìn)入嵌套的代碼塊,包括函數(shù)Step out:執(zhí)行到代碼塊的末尾,在執(zhí)行完該語句塊后,重新進(jìn)入中斷模式4、 Immediate和Command窗口5、Call Stack窗口7.2 錯(cuò)誤處理(P143)異常1、 trycatchfinally如果有一個(gè)或多個(gè)catch塊,finally就是可選的,否則就是必須的。2、 列出和配置異常(P148)3、異常處理的注意事項(xiàng)第八章:面向?qū)ο缶幊毯喗椋≒151)8.1什么是面向?qū)ο缶幊?.1.1什么是對象略為復(fù)雜的對象可能不包含任何數(shù)據(jù),而只包含函數(shù),表示一個(gè)過程。1、 屬性和字段(P153)屬性可以控制字段的只讀、可寫等。2、 方法8.1.2所有的東西都是對象8.1.3對象的生命周期8.1.4靜態(tài)和實(shí)例類成員8.2 OOP技術(shù)第九章:定義類(P168)第十章: 定義類成員(P193)第十一章: 集合、比較和轉(zhuǎn)換(P222)第十四章: Windows編程基礎(chǔ)(P331)第十六章: 使用通用對話框(P414)16.1 對話框不同對話框所適用的場合16.2 如何適用對話框CommonDialog是對話框類的基類,所以所有對話框類的適用方式都是類似的。16.3 文件對話框16.3.1 OpenFileDialog(P417)1、 對話框的標(biāo)題2、 指定目錄注意:為了獲取特定的系統(tǒng)文件夾,可以適用System.Environment類的靜態(tài)方法GetFoldPath(),該方法接受一個(gè)Environment.SpecialFolder枚舉成員,其中可以定義系統(tǒng)目錄的路徑。3、 設(shè)置文件過濾器4、 有效性驗(yàn)證(P419)5、 幫助6、 結(jié)果7、 OpenFileDialog的屬性16.3.2 SaveFileDialog(P427)1、 對話框的標(biāo)題2、 文件擴(kuò)展名AddExtension是一個(gè)布爾屬性,它把文件擴(kuò)展名自動(dòng)添加到用戶輸入的文件名上。其默認(rèn)值是True。3、 有效性驗(yàn)證為了自動(dòng)驗(yàn)證文件名的有效性,應(yīng)使用屬性ValidateNames、CheckFileExists和CheckPathExists。4、 覆蓋已有文件如果PromptCreate屬性設(shè)置為True,就會詢問用戶是否要?jiǎng)?chuàng)建一個(gè)新文件,如果OverwritePrompt屬性設(shè)為true,就會詢問用戶是否真的想覆蓋已有的文件。5、 SaveFileDialog的屬性第二十二章: 文件系統(tǒng)數(shù)據(jù)(P593)22.1 流流是串行化設(shè)備的抽象表示。串行化設(shè)備可以以線性方式存儲數(shù)據(jù),并可以以同樣的方式訪問:一次訪問一個(gè)字節(jié)。有兩種類型的流:輸出流:當(dāng)向某些外部目標(biāo)寫入數(shù)據(jù)時(shí),就要用到輸出流。輸入流:用于將數(shù)據(jù)讀到程序可以訪問的內(nèi)存或變量中。22.2 用于輸入和輸出的類FileStream 表示可寫或可讀或兩者皆可的文件,此文件可以同步或異步的讀寫。StreamReader 從流中讀取字符數(shù)據(jù),可以使用FileSteam創(chuàng)建為基類。StreamWriter 向流寫入字符數(shù)據(jù),可以使用FileStream創(chuàng)建為基類。22.2.1 Fil
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025權(quán)益變更轉(zhuǎn)讓合同
- 現(xiàn)代管理學(xué)的人際關(guān)系試題及答案
- 2025關(guān)于解除特許經(jīng)營合同協(xié)議書
- 行政管理的評價(jià)方法與案例研究試題及答案
- 工程項(xiàng)目預(yù)算執(zhí)行過程分析試題及答案
- 社區(qū)參與與市政治理能力提升試題及答案
- 2025電競館合作合同標(biāo)準(zhǔn)模板
- 公文處理的實(shí)務(wù)技能與考試試題及答案
- 行政管理與市政危機(jī)應(yīng)對試題及答案
- 區(qū)塊鏈BaaS云平臺介紹
- 教師個(gè)人成長檔案電子模板
- 《連續(xù)性腎替代治療容量評估與管理專家共識》解讀課件
- 工程勘察收費(fèi)標(biāo)準(zhǔn)
- DB11T 1399-2017 城市道路與管線地下病害探測及評價(jià)技術(shù)規(guī)范
- 德意莎門窗授權(quán)經(jīng)銷商合作協(xié)議書(代理商合作協(xié)議空白版)
- 大國兵器學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- DB35T 2212-2024消防遠(yuǎn)程監(jiān)控系統(tǒng)技術(shù)要求
- 班級音樂會主題班會
- 東亞飛蝗標(biāo)準(zhǔn)化養(yǎng)殖示范基地建設(shè)項(xiàng)目可行性實(shí)施報(bào)告
- 抖音本地生活商家直播培訓(xùn)
- 陜西省2024年中考地理試卷(附解析)
評論
0/150
提交評論