索引器(indexer)是c#引入的乙個新型的類成員,它使得物件可以像陣列那樣被方便,直觀的引用。索引器非常類似於我們前面講到的屬性,但索引器可以有引數列表,且只能作用在例項物件上,而不能在類上直接作用 。
c# 允許將某些物件視為一維或多維陣列。實際上,c#允許在物件後面緊跟【】運算子。該運算子可以接受乙個或多個任意型別的引數(整數,字串,任何類的物件。。。。)。這些引數用逗號隔開。
類的索引器可以看為特殊的屬性,索引器的兩個訪問器之一是可選的,但至少要有乙個訪問器。索引器的引數不能用ref或者out關鍵字修飾。
public
class
persons
//根據姓名返回索引
public
intthis
[string
name]
}public
string
this
[int
index]
set}
}class
program}
通常,實現了索引的類必須支援使用foreach和in關鍵字來訪問的功能
C 2 0類和物件學習系列之get,set訪問器
屬性的get訪問器有乙個約束是必須返回乙個與屬型別相同的物件 或相同型別物件的引用,假如這是乙個引用型別的話 它表示對屬性賦值所提供的物件 或引用 屬性也不必實現set訪問器,這樣的屬性稱為唯讀屬性 public class foo class program 在set訪問器的 中引數value是乙...
C 2 0類和物件學習系列之this關鍵字
c 允許在類的所有例項方法中使用this關鍵字。這個關鍵字是乙個對當前正在動作的方法所在物件的引用,因此this關鍵字不允許用在靜態方法中。c 中,this關鍵字似的方法引數的名字不必可以與宣告型別的一些欄位和屬性不同。因為在方法體中,類的成員可以通過this訪問,而不帶this字首的名稱優先為引數...
C 2 0類和物件學習系列之this關鍵字
c 允許在類的所有例項方法中使用this關鍵字。這個關鍵字是乙個對當前正在動作的方法所在物件的引用,因此this關鍵字不允許用在靜態方法中。c 中,this關鍵字似的方法引數的名字不必可以與宣告型別的一些欄位和屬性不同。因為在方法體中,類的成員可以通過this訪問,而不帶this字首的名稱優先為引數...