經典C#編程理解,概要,經典

來源:互聯網
上載者:User

標籤:

一.NET架構

ADO.NET微軟提供的一組類庫,可以協助程式員和資料庫互動。

CLS(Common Language Specification) CTS(通用語言類型)

類庫:

可以看成一個承載了N個類的容器。

類庫和命名空間:

一個類庫對應一個命名空間,也可以多個。

二.自動屬性

public string name{set;get;}

應用情境:

當不用做邏輯判定是,可以使用自動屬性。

三.封裝

資訊隱藏,將抽象的資料和操作結合在一起,將私人欄位封裝成公有屬性。

1.保證資料的安全性。

2.提供清晰的對外介面。

3.類內部實現可以任意修改,不影響其他類。

OOP物件導向編程。

AOP面向切面編程

OOD物件導向設計

OOA物件導向分析

DBA資料庫管理員

                                                        CLS(Common Language Specification)

                          CLR(通用語言執行平台)  CTS(同用類型)

.NET架構主鍵  

                         FCL架構內庫

第二章:

結構的定義:

1.結構體關鍵字是struct.

2.不用new,就可以給屬性賦值。

3.結構體不用new的時候,Name不能是自動屬性。

4.結構體是實值型別,class是參考型別。

5.結構體中不能給欄位賦初值,類中可以。

6.結構體不能產生構造,類會在後台自動形成。

public struct Student{public int id;public int age;public void Show(){console.WriteLine(”年齡:“id,age);}}stattic void Main(string[]args){student stu;建立學生結構 stu.id=1001; stu.age=20;stu.show();}

值傳遞,參考型別

傳遞實值型別不會保留,傳遞參考型別持續保留。

1.如果參數前有ref一定會保留。

2.如果參數前沒有ref,想保留必須自身是參考型別。

3實值型別不可以為null,參考型別可以為null.

4.實值型別分配到棧上,參考型別儲存到堆上。

三集合:

集合:將一堆資料放在在一起。

ArrayList  list=new ArrayList();

foreach(object item in list)

{

console.WriteLine(item);

}

list.RemoveAt(1);刪除下標為1的資料

1.使用Arraylist引入命名空間

2.集合擴容原理:集合中元素個數為0,則沒有開闢空間。

3.預設集合中出現第一個元素,那麼集合大小為4,如果放入第五個元素,那麼就擴容8個。

Hashtable table=new Hashtable();

foreach(string key in table.keys)

{

console.wirteLine(key,table[key]);

}

HashTable類型在集合只能用foreach迴圈遍曆,因為沒有索引。

他是無序的,key值不能重複,不能用 RemoveAt(1);

List<> list=new List<>

他與ArrayList相似,list<>訪問資料時不需類型轉換。

Dictionary<k,y> diy=new Dictionary<k,y>

泛型集合可以作為類的一個屬性,使用泛型集合必須執行個體化。

四.類的方法

建構函式

無參

public se()

{

this.id="00";

this.name="曉雯";

}

Main方法()

se en=new se();

console.writeLine(en.se);

帶參

public se(string name,int age)

{

this.name=name;

this.age=age;

}

方法重載

如果方法名相同,參數列表(個數,順序,類型)不同,和方法傳回值無關。

建構函式同常與類名相同,建構函式不聲明傳回值,用public類型。

五.繼承多態

繼承優點:

減少代碼冗餘,實現代碼複用。

如果一個類後面通過冒號又跟上另一個類,就用冒號前面的類為子類,冒號後面的類為父類,這就是繼承關係。

子類不能繼承構造

子類:衍生類別;

父類:基類

繼承的兩大特性

單根性,一個類只能有一個直接父類。

base關鍵字和protected修飾符

base調用構造(參數列表)父類參數構造的參數一致。

public string sayhi()

{

string message=string.Format("大家好{0},今年{1}歲“,base.name,base.Age);

}

多態

不同的對象對於同一個操作,做出的相應不同,目的是為了統一調用。

public virtual string sayhi()

{

}

public overrde string sayhi()

{

}

實現多態

1.父類中定義sayhi()方法,用virtual關鍵字定義虛方法。

2.在子類定義子類自己的sayhi()方法,用override關鍵字修飾就實現了對父類方法重寫。

六.深入多態

1.一個類用abstract修飾,就是抽象類別

2.抽象類別不能用執行個體化

3.抽象方法不能有方法體

4.抽象方法必須在抽象類別中

5.抽象方法存在的目的是,為了約束子類,中方發。

6.抽象類別不能是靜態類(static)或者是密封(staled)

7.抽象類別中的所有抽象方法都必須被子類重寫,除非子類本身就是抽象類別。

public abstract class job

{

public jop(){}

public abstract void Execute();

}

public override void Execute()

{

}

裡氏替換原則:子類對象可以替換父類對象。

物件導向的三大特性

封裝:保證對象自身資料的完整性和安全性

繼承:建立類之間的關係,實現代碼複用。

多態:相同的方法調用可實現不同的實現方式。

七.XML

解析XML

private void button1_Click(object sender, EventArgs e)2         {3             XmlDocument doc = new XmlDocument();4             doc.Load(@"..\..\CD.xml");5 6             XmlElement root = null;7             root = doc.DocumentElement;8 9             XmlNodeList listNodes = null;10             listNodes = root.SelectNodes("/bookstore/book/price");11             foreach (XmlNode node in listNodes )12             {13                 richTextBox1.Text += node.InnerText + "\n";14             }15         }

 

encoding
類型:System.String

編碼方式屬性的值。這是當將 XmlDocument 儲存到檔案或流時使用的編碼方式;因此必須將其設定為 Encoding 類支援的字串,否則 Save 失敗。如果這是 nullNothingnullptrnull 引用(在 Visual Basic 中為 Nothing) 或 String.Empty,則 Save 方法不在 XML 聲明上寫出編碼方式屬性,因此將使用預設的編碼方式 UTF-8。

注意:如果將 XmlDocument 儲存到 TextWriter 或 XmlTextWriter,則放棄該編碼值。而改用 TextWriter 或 XmlTextWriter 的編碼方式。這確保可以使用正確的編碼方式讀回寫出的 XML。

2.XmlDocument類的方法

   XmlDocument類的方法及說明如下表所示。

方法

說明

AppendChild

將指定的節點添加到該節點的子節點列表的末尾

CreateAttribute

建立具有指定名稱的 XmlAttribute

CreateCDataSection

建立包含指定資料的 XmlCDataSection

CreateComment

建立包含指定資料的 XmlComment

CreateDocumentFragment

建立 XmlDocumentFragment

CreateDocumentType

返回新的 XmlDocumentType 對象

CreateElement

建立 XmlElement

CreateEntityReference

建立具有指定名稱的 XmlEntityReference

CreateNavigator

建立一個用於導航此文檔的新 XPathNavigator 對象

CreateNode

建立 XmlNode

CreateProcessingInstruction

建立一個具有指定名稱和資料的 XmlProcessingInstruction

CreateSignificantWhitespace

建立一個 XmlSignificantWhitespace 節點

CreateTextNode

建立具有指定文本的 XmlText

CreateWhitespace

建立一個 XmlWhitespace 節點

CreateXmlDeclaration

建立一個具有指定值的 XmlDeclaration 節點

GetElementById

擷取具有指定 ID 的 XmlElement

GetElementsByTagName

返回一個 XmlNodeList ,它包含與指定名稱匹配的所有元素的列表

GetNamespaceOfPrefix 

尋找當前節點範圍內離給定的首碼最近的 xmlns 聲明,並返回聲明中的命名空間 URI

GetPrefixOfNamespace 

尋找當前節點範圍內離給定的命名空間 URI 最近的 xmlns 聲明,並返回聲明中定義的首碼

GetType

擷取當前執行個體的 Type

ImportNode

將節點從另一個文檔匯入到當前文檔

InsertAfter

將指定的節點緊接著插入指定的引用節點之後

InsertBefore

將指定的節點緊接著插入指定的引用節點之前

Load

載入指定的 XML 資料

LoadXml

從指定的字串載入 XML 文檔

Normalize 

將XmlText 節點都轉換成“正常”形式

PrependChild 

將指定的節點添加到該節點的子節點列表的開頭

ReadNode

根據 XmlReader 中的資訊建立一個 XmlNode 對象。讀取器必須定位在節點或屬性上

RemoveAll 

移除當前節點的所有子節點和/或屬性

RemoveChild 

移除指定的子節點

ReplaceChild 

用新節點替換舊節點

Save

將 XML 文檔儲存到指定的位置

SelectNodes 

選擇匹配XPath 運算式的節點列表

SelectSingleNode 

選擇匹配 XPath 運算式的第一個 XmlNode

Supports 

測試 DOM 實現是否實現特定的功能

Validate

驗證 XmlDocument 是不是 Schemas 屬性中包含的 XML 結構定義語言 (XSD) 架構。

WriteContentTo

將 XmlDocument 節點的所有子級儲存到指定的 XmlWriter 中

WriteTo

將 XmlDocument 節點儲存到指定的 XmlWriter

 

八.

檔案操作

Append

若存在檔案,則開啟該檔案並尋找到檔案尾,或者建立一個新檔案。 這需要FileIOPermissionAccess.Append 許可權。 FileMode.Append 只能與FileAccess.Write 一起使用。 試圖尋找檔案尾之前的位置時會引發IOException 異常,並且任何試圖讀取的操作都會失敗並引發NotSupportedException 異常。

Create

指定作業系統應建立新檔案。 如果檔案已存在,它將被覆蓋。 這需要FileIOPermissionAccess.Write 許可權。 FileMode.Create 等效於這樣的請求:如果檔案不存在,則使用 CreateNew;否則使用 Truncate。 如果該檔案已存在但為隱藏檔案,則將引發 UnauthorizedAccessException異常。

CreateNew

指定作業系統應建立新檔案。 這需要 FileIOPermissionAccess.Write 許可權。 如果檔案已存在,則將引發 IOException異常。

Open

指定作業系統應開啟現有檔案。 開啟檔案的能力取決於 FileAccess 枚舉所指定的值。 如果檔案不存在,引發一個 System.IO.FileNotFoundException 異常。

OpenOrCreate

指定作業系統應開啟檔案(如果檔案存在);否則,應建立新檔案。 如果用FileAccess.Read 開啟檔案,則需要 FileIOPermissionAccess.Read許可權。 如果檔案訪問為 FileAccess.Write,則需要 FileIOPermissionAccess.Write許可權。 如果用 FileAccess.ReadWrite 開啟檔案,則同時需要

Truncate

指定作業系統應開啟現有檔案。 該檔案被開啟時,將被截斷為零位元組大小。 這需要 FileIOPermissionAccess.Write 許可權。 嘗試從使用 FileMode.Truncate開啟的檔案中進行讀取將導致 ArgumentException 異常。

經典C#編程理解,概要,經典

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.