版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
DEV407:.NETFramework:基本類庫深入探討
TechnicalSpecialistMicrosoft(China)議題介紹基本數(shù)據(jù)類型字符串規(guī)則表達式CollectionsIO序列化介紹WindowsCOM+ServicesCommonLanguageRuntimeBaseClassLibraryADO.NETandXMLASP.NETWindowsFormsCommonLanguageSpecificationVBC++C#JScript…VisualStudio.NET.NET統(tǒng)一的編程模型WindowsAPI.NETFramework一致可用的API,而與語言和編程模型無關(guān)ASP無狀態(tài)的,代碼嵌入在HTML頁面中MFC/ATL子類,強大的和豐富的VBObject
Model快速開發(fā),創(chuàng)作和委派介紹基本類庫的目的:支持Framework提供通用,眾所周知的功能使用簡單強大的并且靈活議題介紹字符串規(guī)則表達式CollectionsIO序列化基本數(shù)據(jù)類型System基本數(shù)據(jù)類型
格式化和解析影響所有基本數(shù)據(jù)類型通過ToString和Parse支持格式化是自動認知場景(locale-aware)Thread.CurrentThread.CurrentCulture通過IFormatProviders支持控制格式化通用格式化提供者包括CultureInfo,DateTimeFormatInfo,和NumberFormatInfo基本數(shù)據(jù)類型
格式化:實例(片斷)Doubled=123.4;//流通符號,“$123.40”(inen-US)label2.Text=d.ToString("c");//工程符號,“1.234000e+002”label3.Text=d.ToString(“e");DateTimedt=DateTime.Now;//Pictureformatting,“19Jun2001”(inen-US)label6.Text=dt.ToString(“ddMMMyyyy");//日期格式,“6/19/20016:35:09PM”label4.Text=dt.ToString();格式化這個例子著重強調(diào)了在Framework中格式化是多么的強大和簡單生成字符串串聯(lián)是非常普遍的String.Concat(strA,strB,strC)strA&strB&strCStrings是不可改變的使用StringBuilder增加字符串轉(zhuǎn)換函數(shù)返回一個新的字符串(e.g.,ToUpper,ToLower,Trim)s.Trim().ToUpper().Equals(k.Trim().ToUpper())字符串比較順序的(culturally-ignorant)和感知當(dāng)?shù)匚幕?culturally-aware)比較CompareOrdinal和Equals是順序的Compare是culturally-aware對于包裝全球化的功能非常有益在Win9x,Windows2000andNT4平臺上通用的比較數(shù)據(jù)的方法字符串格式化為輸出和顯示給用戶的目的需要格式化字符串控制格式,寬度,填充,對齊方式用picturestring或者代碼來確定格式String.Format(“Pleaseorder{0}widgetsat{1}each.”,numWidgets,price)String.Format(“{0,10:##00.00}”,f)Console.WriteLine(“{0:U}”,DateTime.Now)規(guī)則表達式(RegularExpressions)支持匹配和替換的能力匹配‘ThisexampleisamatchRegex.IsMatch(“AcmeCorp.”,”.*e.*p”)替換‘thisexamplechanges‘a(chǎn)llinall’to‘a(chǎn)nyinany’Regex.Replace("allinall","(?<char>\w)\k<char>","ny")規(guī)則表達式(RegularExpressions)執(zhí)行模式解釋Regexre=newRegex(“.*e.*n”)re.IsMatch(“AcmeCorporation”)編譯Regexre=newRegex(“.*e.*n”,RegexOptions.Compiled)Compiledformisexpensivetocreate只能被用于靜態(tài)議題介紹基本數(shù)據(jù)類型字符串規(guī)則表達式IO序列化CollectionsSystem.CollectionsCollections.NETFramework提供一些通用的collectionsStack,Queue(ICollection)Array,ArrayList(IList)Hashtable(IDictionary)使用一個ArrayList(IList)list[5]=“Mystringdata”;
Strings=(String)list[5];使用一個Hashtable(IDictionary)table[MyDataKey]=MyDataObject;
DatadataObj=(Data)table[MyDataKey];Collections
枚舉所有的collectionssupportgetting
anIEnumeratorEnumeratorscanbestronglytyped簡單 DimbAsButton ForEachbinMyButtonList
Console.WriteLine(b) Nextb枚舉的性能非常出色StronglyTypedCollectionsTreatgenericallybyinterfaceorspecificallybytypePrivateinterfaceimplementationenablesstrongly-typedcollections
publicclassButtonList:IList{ publicintAdd(Buttonbutton)…
intIList.Add(Objectobj)…
}Strong-typingprovidestype-checking,andself-documentationAlthoughyoucanimplementICollection,inheritingCollectionBaseisalsoanoptionCollections議題介紹基本數(shù)據(jù)類型字符串規(guī)則表達式Collections序列化IOSystem.IOIO例子
寫到文件//在寫模式下打開一個并且包裝他到一個StreamWriter
StreamWriterwriter=
(“C:\\Temp\\Foo.Bar”);//寫一個String和一個double,這些在Stream上將會作為UTF8編碼文本
writer.WriteLine(“Hello,World!”);
writer.WriteLine(3.1415926535);//關(guān)閉StreamWriter和下面的Stream
writer.Close();(String,String)Directory.Delete(String)IO文件和目錄Path.GetFullPath(String)文件和目錄的操縱分成:,文件和目錄的操縱的例子,靜態(tài)操縱文件和目錄的操縱的例子Path,靜態(tài)操縱路徑(String)DirectoryInfo.Delete()序列化System.Runtime.Serialization議題介紹基本數(shù)據(jù)類型字符串規(guī)則表達式CollectionsIO序列化(Serialization)存儲一個對象的圖表到一個stream中以備后來的重新實例化完全自動化系統(tǒng)跟蹤和恢復(fù)對象數(shù)據(jù)并且在對象之間連接支持所有的對象類型ISerializable允許用戶控制可插入格式器架構(gòu)定義你自己的格式序列化
ISerializable對默認的序列化下列情況使用默認序列化:Aclasscanbeserialized‘a(chǎn)sis’Nospecificprocessneedstooccurforserialization/deserializationYoucaneasilymarkitemsnottobeserializedusingtheNonSerializedAttribute下列情況實現(xiàn)ISerializable:對象需要控制他們自己的序列化序列化
代碼例子非序列化DimsAsStream‘reopentheserializedfileDimsfAsSoapFormatter=NewSoapFormatterDimalAsArrayList=CType(sf.Deserialize(s),ArrayList)序列化DimsAsStream‘openandcreateaserializealsoDimsfAsSoapFormatter=NewSoapFormatterDimalAsNewArrayList‘populatewithobje
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《凡客發(fā)展現(xiàn)狀》課件
- 2024年江沙區(qū)域產(chǎn)品購銷協(xié)議版B版
- 房屋裝修工程承包合同(2篇)
- 2024年版鐵路客運服務(wù)協(xié)議范本一
- 2024實木家俱定制與家具維護保養(yǎng)服務(wù)合同2篇
- 2025年瀘州道路運輸從業(yè)資格證考哪些項目
- 2025年涼山州駕駛員貨運從業(yè)資格證模擬考試題
- 2025年河北道路運輸從業(yè)人員從業(yè)資格考試
- 《改善提案》課件
- 2024年建筑土建主體工程分包勞務(wù)協(xié)議樣本版B版
- 智慧醫(yī)療信息化建設(shè)項目技術(shù)標(biāo)準(zhǔn)建設(shè)方案
- 工程建設(shè)監(jiān)理收費標(biāo)準(zhǔn)(發(fā)改價格【2007】670號)
- 摩托車品牌文化營銷與品牌故事的構(gòu)建
- 2024江蘇南京大數(shù)據(jù)集團有限公司招聘筆試參考題庫附帶答案詳解
- FZT 73032-2017 針織牛仔服裝
- 企業(yè)并購與資產(chǎn)重組智慧樹知到期末考試答案2024年
- 貨物包裝承諾函
- 治療用碘131I化鈉膠囊-臨床用藥解讀
- 2024人教版五年級上冊數(shù)學(xué)期末口算題訓(xùn)練
- 2024外研版初中英語單詞表匯總(七-九年級)中考復(fù)習(xí)必背
- 安徽省合肥市包河區(qū)2023-2024學(xué)年三年級上學(xué)期期末英語試卷
評論
0/150
提交評論