




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《C#函數(shù)訓(xùn)練》歡迎來到C#函數(shù)訓(xùn)練課程!本課程將帶您深入了解C#函數(shù)的各個方面,從基本概念到高級應(yīng)用。我們將通過循序漸進(jìn)的講解和豐富的實例演示,幫助您掌握C#函數(shù)的使用技巧,提升編程能力。課程介紹目標(biāo)深入理解C#函數(shù)的概念和應(yīng)用。內(nèi)容函數(shù)定義與調(diào)用參數(shù)傳遞與返回值函數(shù)重載與擴(kuò)展方法異常處理與文件操作委托與事件什么是函數(shù)?定義函數(shù)是一段可重復(fù)使用的代碼塊,用于執(zhí)行特定任務(wù)。它接受輸入?yún)?shù),執(zhí)行操作,并可能返回結(jié)果。本質(zhì)函數(shù)是對代碼的封裝,提高代碼的可讀性和可維護(hù)性。函數(shù)的作用1代碼復(fù)用避免重復(fù)編寫相同代碼。2模塊化設(shè)計將程序分解成獨立的功能模塊,便于維護(hù)和調(diào)試。3提高可讀性使用函數(shù)描述代碼的功能,使代碼更容易理解。函數(shù)的定義語法publicstaticintAdd(inta,intb){returna+b;}解釋public:訪問修飾符static:靜態(tài)函數(shù),不需要創(chuàng)建對象即可調(diào)用int:返回值類型Add:函數(shù)名inta,intb:參數(shù)列表{...}:函數(shù)體函數(shù)的調(diào)用語法intsum=Add(10,20);Console.WriteLine(sum);//輸出30解釋使用函數(shù)名和參數(shù)列表調(diào)用函數(shù),并將返回值賦值給變量。函數(shù)參數(shù)定義函數(shù)參數(shù)是傳遞給函數(shù)的數(shù)據(jù),用于函數(shù)內(nèi)部進(jìn)行操作。類型值類型:例如int、double引用類型:例如string、數(shù)組參數(shù)傳遞方式值傳遞將參數(shù)的值復(fù)制到函數(shù)的局部變量,不會影響原變量的值。引用傳遞傳遞參數(shù)的引用,函數(shù)可以修改原變量的值。返回值定義返回值是函數(shù)執(zhí)行完后返回的結(jié)果。類型返回值類型可以是任意類型,也可以是void(不返回值)。返回多個值方法使用Tuple類型或自定義結(jié)構(gòu)體。示例publicstatic(int,string)GetInfo(){return(10,"Hello");}遞歸函數(shù)定義遞歸函數(shù)是指在函數(shù)體內(nèi)部調(diào)用自身的函數(shù)。示例publicstaticintFactorial(intn){if(n==0)return1;elsereturnn*Factorial(n-1);}匿名函數(shù)定義匿名函數(shù)是指沒有名稱的函數(shù),通常用于簡化代碼或作為參數(shù)傳遞。示例Funcsquare=delegate(intx){returnx*x;};Lambda表達(dá)式定義Lambda表達(dá)式是匿名函數(shù)的簡化語法,更簡潔易懂。示例Funcsquare=x=>x*x;高階函數(shù)定義高階函數(shù)是指接受函數(shù)作為參數(shù)或返回函數(shù)作為結(jié)果的函數(shù)。示例publicstaticFuncCreateMultiplier(intfactor){returnx=>x*factor;}函數(shù)重載定義函數(shù)重載是指在同一個類中定義多個具有相同名稱但參數(shù)列表不同的函數(shù)。示例publicstaticintAdd(inta,intb){...}publicstaticdoubleAdd(doublea,doubleb){...}函數(shù)默認(rèn)值定義函數(shù)參數(shù)可以設(shè)置默認(rèn)值,在調(diào)用時可以省略該參數(shù)。示例publicstaticvoidPrintMessage(stringmessage,intcount=1){for(inti=0;i<count;i++)Console.WriteLine(message);}函數(shù)可選參數(shù)定義可選參數(shù)是指在函數(shù)調(diào)用時可以選擇傳遞或不傳遞的參數(shù)。示例publicstaticvoidPrintMessage(stringmessage,boolshowTime=false){...}函數(shù)命名規(guī)范1動詞或動詞短語例如:CalculateSum、GetUserName2駝峰命名法例如:CalculateSum、GetUserName3清晰易懂函數(shù)名應(yīng)該準(zhǔn)確描述函數(shù)的功能。函數(shù)注釋規(guī)范1概述函數(shù)的功能用一句話概括函數(shù)的作用。2描述參數(shù)和返回值解釋每個參數(shù)的含義和返回值的類型。3添加示例提供一個簡單的使用示例,幫助理解函數(shù)的使用。值類型與引用類型值類型存儲在棧內(nèi)存中傳遞時復(fù)制值例如:int、double、bool引用類型存儲在堆內(nèi)存中傳遞時復(fù)制引用例如:string、數(shù)組、類值傳遞與引用傳遞值傳遞函數(shù)接收參數(shù)的副本,不會修改原變量。引用傳遞函數(shù)接收參數(shù)的引用,可以修改原變量的值。程序棧和堆棧內(nèi)存存儲值類型先進(jìn)后出函數(shù)調(diào)用時創(chuàng)建,函數(shù)執(zhí)行完畢后釋放堆內(nèi)存存儲引用類型動態(tài)分配內(nèi)存需要手動釋放內(nèi)存內(nèi)存管理1垃圾回收自動釋放不再使用的堆內(nèi)存。2手動釋放使用Dispose()方法釋放資源。3內(nèi)存泄漏未釋放的堆內(nèi)存,導(dǎo)致內(nèi)存占用持續(xù)增加。函數(shù)的范圍定義函數(shù)的范圍是指函數(shù)可以被訪問的區(qū)域。類型公共函數(shù):可被其他類訪問私有函數(shù):只能被同一個類訪問受保護(hù)函數(shù):可被子類訪問函數(shù)的生命周期創(chuàng)建函數(shù)定義時創(chuàng)建。調(diào)用函數(shù)被調(diào)用時執(zhí)行。銷毀函數(shù)執(zhí)行完畢后銷毀。局部變量和全局變量局部變量在函數(shù)內(nèi)部定義生命周期:函數(shù)執(zhí)行期間全局變量在類內(nèi)部定義生命周期:程序執(zhí)行期間靜態(tài)函數(shù)和實例函數(shù)靜態(tài)函數(shù)用static修飾不需要創(chuàng)建對象即可調(diào)用作用于類實例函數(shù)不需要static修飾需要創(chuàng)建對象才能調(diào)用作用于對象邏輯運算符1與(&&)兩個操作數(shù)都為真時結(jié)果為真。2或(||)兩個操作數(shù)中至少一個為真時結(jié)果為真。3非(!)取反操作,將真變?yōu)榧?,假變?yōu)檎?。條件語句if語句當(dāng)條件滿足時執(zhí)行指定代碼塊。if-else語句當(dāng)條件滿足時執(zhí)行第一個代碼塊,否則執(zhí)行第二個代碼塊。switch語句根據(jù)表達(dá)式值執(zhí)行不同的代碼塊。循環(huán)語句1for循環(huán)重復(fù)執(zhí)行指定次數(shù)的代碼塊。2while循環(huán)當(dāng)條件滿足時重復(fù)執(zhí)行代碼塊。3do-while循環(huán)先執(zhí)行一次代碼塊,然后判斷條件是否滿足,若滿足則繼續(xù)循環(huán)。數(shù)組定義數(shù)組是一組相同類型數(shù)據(jù)的集合。示例int[]numbers={1,2,3,4,5};字符串定義字符串是字符序列。操作字符串拼接:使用+運算符字符串格式化:使用string.Format()方法字符串比較:使用==或!=運算符List泛型集合定義List是可變大小的泛型集合,用于存儲相同類型的對象。示例Listnumbers=newList();numbers.Add(1);numbers.Add(2);numbers.Add(3);Dictionary泛型集合定義Dictionary是鍵值對集合,用于存儲具有唯一鍵的鍵值對。示例Dictionaryages=newDictionary();ages.Add("張三",20);ages.Add("李四",25);異常處理try-catch塊捕獲異常并進(jìn)行處理。示例try{//可能拋出異常的代碼}catch(Exceptionex){//處理異常}文件操作讀取文件使用StreamReader類讀取文件內(nèi)容。寫入文件使用StreamWriter類寫入文件內(nèi)容。LINQ查詢表達(dá)式定義LINQ是語言集成查詢,用于對數(shù)據(jù)進(jìn)行查詢和操作。示例Listnumbers=newList{1,2,3,4,5};varevenNumbers=fromninnumberswheren%2==0selectn;擴(kuò)展方法定義擴(kuò)展方法允許在不修改原始類型的情況下,為其添加新方法。示例publicstaticclassStringExtensions{publicstaticboolIsPalindrome(thisstringstr){...}}反射定義反射允許在運行時獲取類型信息,并動態(tài)創(chuàng)建和調(diào)用對象。示例Typetype=typeof(string);Console.WriteLine(type.FullName);委托定義委托是一種類型安全的函數(shù)指針,用于存儲對函數(shù)的引用。示例publicdelegateintMyDelegate(inta,intb);MyDelegateadd=(a,b)=>a+b;事件定義事件是一種機(jī)制,用于在某個操作發(fā)生時通知其他對象。示例publicclassMyEvent{publiceventEventHandlerMyEventOccured;
publicvoidRaiseEvent(){if(MyEventOccured!=null)
溫馨提示
- 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年度個人住房按揭貸款擔(dān)保協(xié)議合同版
- 2025年度公司銷售業(yè)務(wù)員協(xié)議書:智能穿戴設(shè)備銷售代理協(xié)議
- 2025年度就業(yè)協(xié)議違約金賠償與就業(yè)心理調(diào)適協(xié)議
- 2025年度綠色環(huán)保材料研發(fā)股東合作協(xié)議書
- 2025年度停車場停車費電子支付服務(wù)合同
- 2025年度建設(shè)銀行個人住房貸款合同電子版
- 2025年度不銹鋼欄桿項目風(fēng)險評估與管理合同
- 農(nóng)資裝卸搬運服務(wù)協(xié)議
- 2025年度農(nóng)村土地經(jīng)營權(quán)轉(zhuǎn)讓與農(nóng)業(yè)扶貧項目合作合同
- 二零二五年度土地承包種植與鄉(xiāng)村旅游結(jié)合合同
- 《節(jié)水評價技術(shù)導(dǎo)則》
- 簡單酒店裝修合同書范本(30篇)
- 2024-2030年中國核桃油行業(yè)消費趨勢及競爭格局分析研究報告
- 安全、環(huán)境、職業(yè)健康安全目標(biāo)、指標(biāo)及管理方案
- 《地理信息系統(tǒng)GIS》全套教學(xué)課件
- 課件:《中華民族共同體概論》第一講 中華民族共同體基礎(chǔ)理論
- 技術(shù)序列學(xué)習(xí)地圖(2023年)
- 2024年高考政治考試題海南卷及參考答案
- 絕經(jīng)后無癥狀子宮內(nèi)膜增厚診療中國專家共識(2024年版)解讀
- 15萬噸水廠安裝工程施工組織設(shè)計方案
- 結(jié)婚轉(zhuǎn)戶口委托書
評論
0/150
提交評論