




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
DEV407:.NETFramework:基本類庫深入探討
TechnicalSpecialistMicrosoft(China)議題介紹基本數(shù)據(jù)類型字符串規(guī)則表達式CollectionsIO序列化介紹WindowsCOM+ServicesCommonLanguageRuntimeBaseClassLibraryADO.NETandXMLASP.NETWindowsFormsCommonLanguageSpecificationVBC++C#JScript…VisualStudio.NET.NET統(tǒng)一的編程模型WindowsAPI.NETFramework一致可用的API,而與語言和編程模型無關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();格式化這個例子著重強調了在Framework中格式化是多么的強大和簡單生成字符串串聯(lián)是非常普遍的String.Concat(strA,strB,strC)strA&strB&strCStrings是不可改變的使用StringBuilder增加字符串轉換函數(shù)返回一個新的字符串(e.g.,ToUpper,ToLower,Trim)s.Trim().ToUpper().Equals(k.Trim().ToUpper())字符串比較順序的(culturally-ignorant)和感知當?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);//關閉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)跟蹤和恢復對象數(shù)據(jù)并且在對象之間連接支持所有的對象類型ISerializable允許用戶控制可插入格式器架構定義你自己的格式序列化
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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025江蘇南通市公安局招聘警務輔助人員66人考前自測高頻考點模擬試題及參考答案詳解一套
- 2025江蘇灌云萬邦人力資源有限公司招聘工作人員考前自測高頻考點模擬試題有答案詳解
- 2025年國家開放大學《教育心理學導論》期末考試備考試題及答案解析
- 防腐保溫施工中的人員管理方案
- 鉛鋅選礦廠項目建設工程方案
- 生物醫(yī)藥園項目建設工程方案
- 工程項目實施過程中數(shù)據(jù)監(jiān)控與分析
- 400MWh獨立共享儲能電站項目環(huán)境影響報告書
- 城區(qū)供水特許經(jīng)營權項目建設工程方案
- 全國歷史名人知識競賽試題及答案
- 資陽發(fā)展投資集團有限公司第二輪一般員工市場化招聘筆試歷年參考題庫附帶答案詳解
- 安徽省c證安全生產(chǎn)模擬考試題庫及答案解析
- 微納集成電路制造工藝 課件全套 第1-12章 緒論;硅單晶與硅晶圓制備工藝 -工藝集成與工藝流程
- 心理健康教育課程名詞解釋大全
- 廣東電網(wǎng)公司海南電網(wǎng)公司南網(wǎng)能源公司2025年9月社會招聘筆試參考題庫附帶答案詳解
- 2025年大連市(中山區(qū)、西崗區(qū)、沙河口區(qū)、旅順口區(qū)、北黃海經(jīng)濟開發(fā)區(qū))總工會面向社會公開招聘社會化工會工作者備考模擬試題及答案解析
- 發(fā)酵車間崗前安全培訓課件
- 社會救助政策培訓課件
- 開學第一課【快閃】浪浪山小妖怪:誰都可以從現(xiàn)在開始
- 2025成人高考專升本政治試題及答案
- 2025年國家基本公衛(wèi)生服務規(guī)范第三版試題及答案
評論
0/150
提交評論