原创 索引器

索引器(indexer)允許一個對象可以像數組一樣被索引,當爲類定義一個索引器時,該類的行爲就會像一個虛擬數組一樣,可以使用數組訪問運算符[ ]來訪問該類的實例,索引器是一組get和set訪問器,與屬性類似。 索引器與屬性的異同 (1)和

原创 命名參數、可選參數及各種參數間的聲明順序

命名參數 我們經常所用到的函數中的參數都是位置參數,也就是一個實參的位置都必須與相應的形參位置一一對應,此外C#還允許我們使用命名參數(C++中不存在),只要顯示指定參數的名字,就可以以任意順序在方法調用中列出實參。 class

原创 引用類型數據的比較操作和相等性操作

對於大多數引用類型來說,比較他們的相等性時,將只比較它們的引用,如果引用相等,也就是說如果它們指向內存中相同對象,那麼相等性比較爲true,否則爲false,即使內存中倆個分離的對象在所有其他方面都完全相等,這稱爲淺比較。 string

原创 構造函數、static靜態構造函數(C#特有)、對象初始化語句(C#特有)

        C#中的構造函數與C++中類似,如果希望能從類的外部創建類的實例,需要將構造函數聲明爲public,如果類的聲明中沒有顯式的提供實例構造函數,那麼編譯器會提供一個隱式的默認構造函數,它沒有參數,方法體爲空,如果你爲類聲明瞭

原创 構造對象的流程順序、構造函數的初始化語句(base、this)

創建子對象時構造的順序 與C++相同,子類創建對象時,要創建對象的基類部分,所以需要在子類的構造函數中隱式調用父類的某個構造函數作爲創建實例過程的一部分,繼承層次鏈中的每個類在執行它自己的構造函數體之前先執行它的父類構造函數。 C#中構

原创 類的訪問修飾符(public、internal)、跨程序集之間的繼承

public與internal 在C#中類是由訪問級別的,類的可訪問性有倆個級別:public、internal 標記爲public的類可以被系統內任何程序集中的代碼訪問,要使一個類對其他程序集可見,使用public訪問修飾符 標記爲in

原创 抽象成員 抽象類(abstract)、密封類(sealed)

抽象成員(類似C++中的純虛函數) 抽象成員是指設計爲被覆寫的函數成員,抽象成員只能在抽象類中聲明,它有以下特徵: (1)必須是一個函數成員,也就是說,字段和常量不能爲抽象成員 (2)必須用abstract修飾符標記 (3)不能有實現代碼

原创 訪問器的訪問修飾符、訪問器級別層次

在默認情況下,成員的倆個訪問器有和成員自身相同的訪問級別,也就是說,如果一個屬性有public訪問級別,那麼它的倆個訪問器有和成員自身相同的訪問級別,對索引也一樣,當然也可以爲倆個訪問器分配不同的訪問級別。 訪問器的訪問修飾符的限制 (1

原创 類中static、const、readonly、partial修飾符

static 修飾類成員: static在C#中的用法與C++類似,當聲明一個類成員爲靜態時,意味着無論有多少個類的對象被創建,只會有一個靜態成員的副本,static變量可在成員函數或類的定義外部進行初始化,也可以在類內部定義初始化靜態變

原创 類的繼承與派生(virtual、override)

C#中類的繼承與派生在性質上類似C++,但在有些方面有一些區別。 C#中所有類都派生自object類 除了特殊的類object,所有的類都是派生類,即使他們沒有基類規格說明,類object是唯一的非派生類,因爲他是繼承層次結構的基礎,與C

原创 參數數組params

使用情況:當聲明一個方法時,你不能確定要傳遞給函數的參數數目,在C#中可以使用參數數組params解決這個問題,參數數組通常用於傳遞未知數量的參數給函數,數組是引用類型,所以參數數組也是引用類型。 使用條件: (1)在一個參數列表中只能有

原创 引用參數ref,以及在函數中修飾值參數和引用參數的作用

使用條件: (1)使用引用參數時,必須在方法的聲明和調用中都使用ref修飾符 例如:void foo(ref int value) 調用foo(ref y) (2)實參必須是變量,在用做實參前必須被賦值,如果是引用類型變量,可以賦值爲一個

原创 using語句託管資源的處理

某些類型的非託管對象有數量限制或很耗費系統資源,在代碼使用完它們後,儘可能快地釋放它們是非常重要的,using語句有助於簡化該過程,並確保這些資源被適當地處置。 using語句的使用形式1 using的使用效果 (1)分配資源 (2)把

原创 輸出參數out

C#中正常的return語句可用於只從函數中返回一個值,如果要返回多個值,可以使用輸出參數out,例:public void getValue(out int a,out int b) 使用條件: (1)必須在聲明和調用中都使用修飾符,輸

原创 事件(event)

發佈者/訂閱者模式 當一個特定的程序事件發生時,程序的其他部分可以得到該事件已經發生的通知。發佈者/訂閱者模式可以滿足這種需求。這種模式中,發佈者類定義了一系列程序的其他部分可能感興趣的事件,其他類可以註冊,以便在這些事件發生時發佈者可以