




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C程序設(shè)計及應(yīng)用Copyright? PTAll 第4C
唐大仕 本章內(nèi)
4.1 4.24.3 Lambda4.4 4.5 4.6 Attribute4.7 C#4.8 唐大仕 L4 唐大仕4第4C
4.1大致上 唐大仕 委托是對函數(shù)原型的包publicdelegatedouble MyDelegate(double xMyDelegated d2=newMyDelegate(obj.myMethod委托變量名(參數(shù)列表d2(8.9) 唐大仕
6委托示 唐北
7C#4以上版本定義了很多的委Action<T1,T2>Func<T1,T2,Tresult>如newFunc<double,double>(Math.Sin);
8 唐大仕 委托的合 運算符+ += 唐北
9委托的轉(zhuǎn)換與相
delegatevoidD(intadelegatevoidE(inta 唐北 總 唐大仕 LL 唐大仕 第4C
大致上 唐大仕 用戶界面中
this.button1.Clickthis.button1.Click+=new{this.label1.Text=} 唐大仕 的publicevent 名+= 或- 所在類的外面,只能用以上兩個運算名(參數(shù)列表 唐大仕 實網(wǎng)絡(luò)爬EventWhenDownload.cs
唐大仕 定義及使 的6步參數(shù)類:
公用
在一個類
:publicevent類型名 在別的類
void方法名(obj new委托(方法名 唐大仕 與委托的關(guān) 限制(在類外只能用+=或- 大仕 t
與委托的關(guān) 修飾符event 委托類型 {
add{e+=value;remove{ e-=value; } 唐大仕 總 唐大仕 綜合示
使用C#多種語法要素(特別是event及Exception)BankSystem-v1-v2 唐大仕 LLamda 唐大仕 第4C
唐大仕 csharp語言新特
C#2.0 C#3.0 引入Lambda及LinqC#4.0 唐大仕 泛型
List<Book>books=newList<Book>();Bookbook=books[0];ArrayListbooks=newArrayList();Bookbook (Book)books[0]; 唐大仕 方 delegate(參數(shù)方法體 newThread(newThreadStart(delegate(){…….})newThread(delegate(){…….} 唐大仕 Lambda表達
省略delegate,例button1.Click+=(sender,e)=>{……}newThread(()=>{….}).Start();PlotFun( x=>x*x,0,100 唐大仕 Lambda表達
Lambda表達式 不寫(參數(shù)) 唐大仕
LINQ:LanguageIntegratedQueryfromcincustomerswherec.Age>10orderbyc.Nameselect new{c.Name,c.Phone}customers.Where(c=>c.Age>10).OrderBy(c=>c.Name)..Select(c=>new{c.Name,c.Phone 唐大仕 Linq示
int[]arr=newint[]{8,5,89,3,56,4,1,58varm=fromninarrwheren<5orderbynselectn*n;foreach(varninm){Console.Wri ine(n);} 唐大仕 總 Lambda表達式使用=>Linq使用from,where,select 唐大仕 示 在不同C#版本中使用delegateambdaambda 唐大仕 LL 唐大仕 第4C
唐大仕 運算
使用運算符的例this.Location+=newSize(10,10);TimeSpandiff=date2–date1;Strings1,s2; if(s1==s2)如兩個復(fù)數(shù)用a+b比a.Add(b)運算符重載有一些限 唐大仕 運算符 publicstatic類型operator一元運算(類型數(shù)名){…… publicstatic類型operator二元運算符(類型參數(shù)名,類型參數(shù)名){……} publicstaticimplicitoperator(數(shù)名){……publicstaticexplicitoperator(類型數(shù)名){……
LL處 唐大仕 第4C
唐大仕 異常的概
C#try{……catch(Exceptione){… finally{….. System.ExceptionpublicException();publicException(stringMessageStackTrace 唐大仕 幾種常用的異常
System.OutOfMemoryExceptionSystem.StackOverflowExceptionSystem.NullReferenceExceptionSystem.TypeInitializationExceptionSystem.InvalidCastExceptionSystem.ArrayTypeMismatchExceptionSystem.IndexOutOfRangeExceptionSystem.MulticastNotSupportedExceptionSystem.ArithmeticExceptionSystem.DivideByZeroExceptionSystem.OverflowException 唐大仕 捕獲和處理異try{ catch(AException catch(BException catch(更一般的Exception finally{ 注:catch{} 大 ionIndexOutOf.cs
拋出異throwthrowexpressionif(xxxxxx) thrownewSomeException(信息
唐大仕 創(chuàng)建用戶自定義異常從Exception或ApplicationExceptionthrows;thrownewExcepiton(“msg”, e這里eInnerException 大仕
算術(shù)溢出與
對整個程序csc /checked
XXXX.cs針對表達式checked(表達式uncheckd(表達式針對塊語句checked{……}uncheckd{……}try{ }catch(OverflowExceptione) e學(xué)dTest.cs 總 C#try{… catch(Exceptione){… finally{…. 從Exception或ApplicationException e學(xué)dTest.cs LLibute 唐大仕 第4C
唐大仕 使用Attribute的例
[Serializable]publicsealedclassString:IComparable,Icloneable, IConvertible,Ienumerable[STAThread]staticvoid 唐大仕
class{voidGetCustomers(){…stringTest([SomeAttr]stringparam1)} 唐大仕 使用系統(tǒng)定義的使用Attribute的一般方可以省略“Attribute”幾個字母,只寫
示在Main()方法使用[STAThread][assembly: pany("")] 唐大仕 自定義
Attribute從System.Attribute2.使用Attribute3.通過反 riteHelp.cs classclassHelpUrlAttribute:System.Attribute{publicHelpUrlAttribute(stringurl){…}…}classSomeClass{…Attachedtotypesand?AttributescanbeAttachedtotypesand?Typetype=Type.GetType(“SomeClass”);object[]Typetype=Type.GetType(“SomeClass”);object[]attributes=type.GetCustomAttributes(); 唐大仕 LL成 唐大仕 第4C
唐大仕 編譯預(yù)處1#define#undef“2#if,#elif,#else,#endif3#error和#warning4#line 行
唐大仕 unsafe及指1.unsafe2.fixedfixed( 類型*指針名=表達式)3.sizeofsizeof(簡單或結(jié)構(gòu)類型名4.stackalloc
唐sCopy.cs 指針示
classFileStream:{int[dllimport("kernel32",SetLastError=true)]staticexternunsafeboolReadFile(inthFile,void*lpBuffer,intint*nBytesRead,Overlapped*publicunsafeintRead(byte[]buffer,intindex,intintn=0;fixed(byte*p=buffer)ReadFile(handle,p+index,count,&n,
count)}return}} 唐大仕 其他關(guān)鍵
1.lock多線程程序中,lock2.volatile隨時可能被程序以外的其他因素所修改。域被volatile修飾時,會 唐大仕 LL 唐大仕 程序的組
名字空間程序的邏輯組織嵌套類型類中嵌套類型 唐大仕 名字空2namespace xxx.xxxx{usingxxx.xxxx;4using別名=名字空間或類名
唐me 嵌套類
classA{publicclassB{publicstructC{}}newA.B.C(); 唐s 程序在VS.NET上程序
唐大仕
csc/target:mod/out:Add.modAdd.cscsc/target:mod/out:Multi.modMulti.csal/target:library/out:MyLibrary.dllAdd.modMulti.csc/target:exe/out:My y.dllMy 唐大仕 C#語法的小
唐大仕 類 類class struct interface enum delegate 唐大仕 類的成
常數(shù)(const)它代表了與類相 域(field) 方法(method)它實現(xiàn)了可以被類實現(xiàn)的計算和行 屬性(property)它定義了命名的屬性和與對這個屬性進行讀寫的相關(guān)行為 (event)它定義了由類產(chǎn) 索引(indexer) 唐大仕 類的成員(續(xù)
它定義了可以被應(yīng)用于類的實例上的表達式運算 實例構(gòu)造函數(shù)(instanceconstructor)
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技與法律的結(jié)合大學(xué)生創(chuàng)新創(chuàng)業(yè)中的知識產(chǎn)權(quán)管理
- 現(xiàn)代辦公家具的創(chuàng)新設(shè)計與制造技術(shù)
- 科技引領(lǐng)職業(yè)教育實訓(xùn)室的技術(shù)革新之旅
- 科技發(fā)展對班級團隊合作模式的影響
- 鋼框架合同范本
- 用現(xiàn)代技術(shù)構(gòu)建智能醫(yī)療生態(tài)移動支付是關(guān)鍵一環(huán)
- 電商平臺物流配送中的風險管理研究
- 小學(xué)生餐飲浪費課件
- 現(xiàn)代辦公環(huán)境下的健康保護與神外術(shù)后的恢復(fù)管理
- 1+X電商推廣模擬練習題(附參考答案)
- 筋膜刀的臨床應(yīng)用
- DB32-T 4790-2024建筑施工特種作業(yè)人員安全操作技能考核標準
- 2022年安徽阜陽太和縣人民醫(yī)院本科及以上學(xué)歷招聘筆試歷年典型考題及考點剖析附帶答案詳解
- 2024-2030年中國反芻動物飼料行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 護理團體標準解讀-成人氧氣吸入療法護理
- 幼兒園大班《識字卡》課件
- 2024-2030全球與中國寵物醫(yī)院市場現(xiàn)狀及未來發(fā)展趨勢
- 《研學(xué)旅行課程設(shè)計》課件-2認識研學(xué)旅行的參與方
- 安全警示教育的會議記錄內(nèi)容
- 夫妻異地辭職信
- 2024年度-銀行不良清收技巧培訓(xùn)課件(學(xué)員版)
評論
0/150
提交評論