NETFramework基本類庫(kù)深入探討課件_第1頁(yè)
NETFramework基本類庫(kù)深入探討課件_第2頁(yè)
NETFramework基本類庫(kù)深入探討課件_第3頁(yè)
NETFramework基本類庫(kù)深入探討課件_第4頁(yè)
NETFramework基本類庫(kù)深入探討課件_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、DEV407: .NET Framework: 基本類庫(kù)深入探討 張謙Technical SpecialistMicrosoft (China)DEV407: .NET Framework: 基本類庫(kù)深議題介紹基本數(shù)據(jù)類型字符串規(guī)則表達(dá)式CollectionsIO序列化議題介紹介紹WindowsCOM+ ServicesCommon Language RuntimeBase Class LibraryADO.NET and XMLASP.NETWindows FormsCommon Language SpecificationVBC+C#JScriptVisual Studio.NET介紹Wi

2、ndowsCOM+ ServicesCommon L介紹GlobalizationDiagnosticsConfigurationCollectionsResourcesReflectionNetIOThreadingTextServiceProcessSecurityRuntimeInteropServicesRemotingSerializationBase Class LibrariesSystemSystemTextGlobalizationIOCollectionsSerializationText.RegularExpressions介紹GlobalizationDiagnosti

3、csConf.NET 統(tǒng)一的編程模型Windows API.NET Framework一致可用的API,而與語(yǔ)言和編程模型無(wú)關(guān)ASP無(wú)狀態(tài)的,代碼嵌入在HTML頁(yè)面中MFC/ATL子類, 強(qiáng)大的和豐富的VB Object Model快速開(kāi)發(fā),創(chuàng)作和委派.NET 統(tǒng)一的編程模型Windows API.NET Fr介紹基本類庫(kù)的目的:支持Framework提供通用,眾所周知的功能使用簡(jiǎn)單強(qiáng)大的并且靈活介紹基本類庫(kù)的目的:議題介紹字符串規(guī)則表達(dá)式CollectionsIO序列化基本數(shù)據(jù)類型System議題介紹基本數(shù)據(jù)類型原始的和通用的類型Byte, Int16, Decimal, DateTime,

4、 等等.格式化和解析功能ToString 和 Parse 轉(zhuǎn)換成其他類型使用Convert類對(duì)象原始的形態(tài)基本數(shù)據(jù)類型原始的和通用的類型基本數(shù)據(jù)類型格式化和解析影響所有基本數(shù)據(jù)類型通過(guò) ToString 和 Parse支持格式化是自動(dòng)認(rèn)知場(chǎng)景(locale-aware)Thread.CurrentThread.CurrentCulture通過(guò)IFormatProviders支持控制格式化通用格式化提供者包括CultureInfo, DateTimeFormatInfo,和 NumberFormatInfo基本數(shù)據(jù)類型格式化和解析影響所有基本數(shù)據(jù)類型基本數(shù)據(jù)類型格式化:實(shí)例 (片斷)Double

5、 d = 123.4;/ 流通符號(hào), “$123.40” (in en-US)label2.Text = d.ToString(c);/工程符號(hào),“1.234000e+002”label3.Text = d.ToString(“e);DateTime dt = DateTime.Now;/Picture formatting, “19 Jun 2001” (in en-US)label6.Text = dt.ToString(“dd MMM yyyy);/ 日期格式, “6/19/2001 6:35:09 PM”label4.Text = dt.ToString(); 基本數(shù)據(jù)類型格式化:實(shí)例

6、 (片斷)Double d = 1格式化這個(gè)例子著重強(qiáng)調(diào)了在Framework中格式化是多么的強(qiáng)大和簡(jiǎn)單格式化這個(gè)例子著重強(qiáng)調(diào)了在Framework中格式化是多么的議題介紹基本數(shù)據(jù)類型規(guī)則表達(dá)式CollectionsIO序列化字符串System123.45議題介紹123.45生成字符串串聯(lián)是非常普遍的String.Concat(strA, strB, strC) strA & strB & strCStrings 是不可改變的使用 StringBuilder 增加字符串轉(zhuǎn)換函數(shù)返回一個(gè)新的字符串 (e.g., ToUpper, ToLower, Trim)s.Trim().ToUpper().

7、Equals(k.Trim().ToUpper()生成字符串串聯(lián)是非常普遍的字符串比較順序的 (culturally-ignorant) 和感知當(dāng)?shù)匚幕?culturally-aware)比較CompareOrdinal 和 Equals 是順序的Compare 是 culturally-aware對(duì)于包裝全球化的功能非常有益在Win9x, Windows 2000 and NT4平臺(tái)上通用的比較數(shù)據(jù)的方法字符串比較順序的 (culturally-ignorant)字符串格式化為輸出和顯示給用戶的目的需要格式化字符串控制格式,寬度,填充,對(duì)齊方式用picture string或者代碼來(lái)確定格

8、式String.Format(“Please order 0 widgets at 1 each.”, numWidgets, price)String.Format(“0,10:#00.00”, f)Console.WriteLine(“0:U”, DateTime.Now)字符串格式化為輸出和顯示給用戶的目的需要格式化字符串議題介紹基本數(shù)據(jù)類型字符串CollectionsIO序列化規(guī)則表達(dá)式System.Text.RegularExpressions議題介紹規(guī)則表達(dá)式 (Regular Expressions)支持匹配和替換的能力匹配 This example is a matchRege

9、x.IsMatch(“Acme Corp.”,”.*e.*p”)替換 this example changes all in all to any in anyRegex.Replace(all in all, (?w)k, ny)規(guī)則表達(dá)式 (Regular Expressions)支持匹規(guī)則表達(dá)式 (Regular Expressions)執(zhí)行模式解釋Regex re = new Regex(“.*e.*n”)re.IsMatch(“Acme Corporation”)編譯Regex re = new Regex(“.*e.*n”, RegexOptions.Compiled)Compil

10、ed form is expensive to create只能被用于靜態(tài)規(guī)則表達(dá)式 (Regular Expressions)執(zhí)行模議題介紹基本數(shù)據(jù)類型字符串規(guī)則表達(dá)式IO序列化CollectionsSystem.Collections議題介紹Collections接口模型基于模型的接口ICollection枚舉,轉(zhuǎn)化成數(shù)組,同步的,只讀IList, IDictionary源自ICollection增加,清除,包含,移出IList操縱一個(gè)連續(xù)有序的值,IndexOf, Insert, RemoveAtIDictionary處理一個(gè)鍵值對(duì)的集Collections接口模型基于模型的接口Coll

11、ections.NET Framework 提供一些通用的 collectionsStack, Queue (ICollection)Array, ArrayList (IList)Hashtable (IDictionary)使用一個(gè)ArrayList (IList)list5=“My string data”;String s = (String)list5;使用一個(gè) Hashtable (IDictionary)tableMyDataKey = MyDataObject;Data dataObj = (Data)tableMyDataKey;Collections.NET Framewo

12、rk 提供一些Collections枚舉所有的 collections support getting an IEnumeratorEnumerators can be strongly typed簡(jiǎn)單Dim b As ButtonFor Each b in MyButtonList Console.WriteLine(b)Next b枚舉的性能非常出色Collections枚舉所有的 collections Strongly Typed CollectionsTreat generically by interface or specifically by typePrivate inter

13、face implementation enables strongly-typed collectionspublic class ButtonList : IList public int Add(Button button)int IList.Add(Object obj)Strong-typing provides type-checking, and self-documentationAlthough you can implement ICollection, inheriting CollectionBase is also an optionStrongly Typed Co

14、llectionsTreaCollections: StrongTypingButtonListWidgetListIListIListint Add (Button b)int Add (Object o)int Add (Widget w)int Add (Object o)Collections: StrongTypingButtoCollectionsCollections議題介紹基本數(shù)據(jù)類型字符串規(guī)則表達(dá)式Collections序列化IOSystem.IO議題介紹IO 流讀取和寫(xiě)字節(jié)不需要任何關(guān)于指定數(shù)據(jù)類型的知識(shí)Stream基本類庫(kù)可編輯流模式無(wú)縫增加緩存, 管道, 加密方法,同步

15、和異步的支持必須實(shí)現(xiàn)同步支持,異步是自動(dòng)的IO 流讀取和寫(xiě)字節(jié)IO 讀和寫(xiě)Most common point of contact with IO使用Streams讀和寫(xiě)用戶類型Knowledge of stream data format as appropriate.NET Framework 支持 BinaryReader/Writer 和 StreamReader/WriterStreamReader/Writer理解編碼IO 讀和寫(xiě)Most common point of conIO 例子寫(xiě)到文件/ 在寫(xiě)模式下打開(kāi)一個(gè)FileStream并且包裝他到一個(gè)StreamWriterStr

16、eamWriter writer = File.CreateText(“C:TempFoo.Bar”);/ 寫(xiě)一個(gè)String和一個(gè)double,這些在Stream上將會(huì)作為UTF8編碼文本writer.WriteLine(“Hello, World!”);writer.WriteLine(3.1415926535);/ 關(guān)閉StreamWriter和下面的Streamwriter.Close();IO 例子寫(xiě)到文件/ 在寫(xiě)模式下打開(kāi)一個(gè)FileStreFile.Copy( String, String )Directory.Delete( String )IO 文件和目錄Path.GetFu

17、llPath ( String )文件和目錄的操縱分成:FileInfo/DirectoryInfo, 文件和目錄的操縱的例子File/Directory,靜態(tài)操縱文件和目錄的操縱的例子Path, 靜態(tài)操縱路徑FileInfo.CopyTo( String )DirectoryInfo.Delete( )IO 文件和目錄文件和目錄的操縱分成:序列化System.Runtime.Serialization議題介紹基本數(shù)據(jù)類型字符串規(guī)則表達(dá)式CollectionsIO議題介紹序列化 (Serialization)存儲(chǔ)一個(gè)對(duì)象的圖表到一個(gè)stream中以備后來(lái)的重新實(shí)例化完全自動(dòng)化系統(tǒng)跟蹤和恢復(fù)對(duì)象

18、數(shù)據(jù)并且在對(duì)象之間連接支持所有的對(duì)象類型ISerializable允許用戶控制可插入格式器架構(gòu)定義你自己的格式序列化 (Serialization)存儲(chǔ)一個(gè)對(duì)象的圖表到一序列化ISerializable 對(duì)默認(rèn)的序列化下列情況使用默認(rèn)序列化:A class can be serialized as isNo specific process needs to occur for serialization/deserializationYou can easily mark items not to be serialized using the NonSerializedAttribute下列情況實(shí)現(xiàn)ISerializable:對(duì)象需要控制他們自己的序列

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論