舉例如下
class Demo {
int[] arr = new int[10];
int this[int i] {
get {
return arr[i];
}
set {
arr[i] = value;
}
}
static void Main() {
Demo d = new Demo();
int i = 0;
while (i < 10) {
d[i] = ++i;
}
System.Console.WriteLine(d[1]);
System.Console.WriteLine(d[2]);
System.Console.WriteLine(d[3]);
}
}
/* 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:indexer.cs
功能:示範 C# 程式
作者:張凱慶
時間:西元 2013 年 6 月 */我們先在 Demo 中宣告建立整數型態的陣列屬性 arr
int[] arr = new int[10];
this 方法中定義 get 與set
int this[int i] {
get {
return arr[i];
}
set {
arr[i] = value;
}
}這樣一來, Demo 型態的變數就能用陣列方式存取屬性
Demo d = new Demo();
int i = 0;
while (i < 10) {
d[i] = ++i;
}編譯執行,結果如下

| 中英文術語對照 | |
|---|---|
| 類別 | class |
| 索引子 | indexer |
| 陣列 | array |
| 屬性 | property |
| 方法 | method |
您可以繼續參考
類別
相關目錄
回 C# 快速導覽
回 C# 教材
回首頁
參考資料
Standard ECMA-334 C# Language Specification
msdn: 索引子 (C# 程式設計手冊)
沒有留言:
張貼留言