索引器(indexer)是c#引入的乙個新型的類成員,它使得類中的物件可以像陣列那樣方便、直觀的被引用。索引器非常類似於屬性,但索引器可以有引數列表,且只能作用在例項物件上,而不能在類上直接作用。定義了索引器的類可以讓您像訪問陣列一樣的使用 [ ] 運算子訪問類的成員。(當然高階的應用還有很多,比如說可以把陣列通過索引器對映出去等等)
請看**,下面是類的定義,中間包含了乙個索引器定義
classprogram
}public
class
person
get
}//定義乙個 password 屬性來操作 password 字段
public
string
password
get
}//定義索引器,name 欄位的索引值為 0 ,password 欄位的索引值為 1
public
string
this[int
index]
set }
}
c#索引器(一)
索引器允許類和結構的例項按照與陣列相同的方式進行索引,索引器類似與屬性,不同之處在於他們的訪問器採用引數。被稱為有參屬性。
簡單的索引器例項:
classprogram
}class
indexclass
set
}}
索引器與陣列的比較:
索引器的索引值不受型別限制。用來訪問陣列的索引值一定是整數,而索引器可以是其他型別的索引值。
索引器允許過載,乙個類可以有多個索引器。
索引器不是乙個變數沒有直接對應的資料儲存地方。索引器有get和set訪問器。
c#索引器(二)
索引器允許類和結構的例項按照與陣列相同的方式進行索引,索引器類似與屬性,不同之處在於他們的訪問器採用引數。被稱為有參屬性。
簡單的索引器例項:
索引器與屬性的比較:
標示方式:屬性以名稱來標識,索引器以函式簽名來標識。
索引器可以被過載。屬性則不可以被過載。
屬性可以為靜態的,索引器屬於例項成員,不能被宣告為static
多引數索引器例項:
classprogram
console.readkey();
}class
indexclass
public
string
name
set
}public
intcourseid
set
}public
intscore
set }}
class
scoreindex
public
intthis[string _name, int
_courseid]
}return -1
; }
set }
//過載索引器
public arraylist this[string
_name]
}return
temp;}}
}}
備註:
C 類中索引器的使用二
索引器 indexer 是c 引入的乙個新型的類成員,它使得類中的物件可以像陣列那樣方便 直觀的被引用。索引器非常類似於屬性,但索引器可以有引數列表,且只能作用在例項物件上,而不能在類上直接作用。定義了索引器的類可以讓您像訪問陣列一樣的使用 運算子訪問類的成員。當然高階的應用還有很多,比如說可以把陣...
C 程式設計 97 索引器在類中的使用
using system using system.collections.generic using system.linq using system.text namespace classindextest set class weekday private intgetday string ...
C 類成員 索引器
1 索引器使用的特徵 類中有陣列型別的字段被訪問時,使用索引器。class samplecollection set 2 索引器定義 public int this int index indexer declaration 索引器類似於屬性,不同之處在於它們的訪問器採用引數。使用索引器可以用類似於...