索引器
1. 索引器
索引器(indexer):索引器允許類或結構的例項按照與陣列相同的方式進行索引。索引器類似與屬性,不同之處在於它們的訪問器採用引數。
陣列類的使用例項:
using system;//引用system命名空間
class arrclass
public string name //定義乙個唯讀訪問器name}}
class test
}索引器的使用例項:
using system;//引用system命名空間
class indexclass
set}
}class test
}索引器除了索引值為整型外,還可以為其他型別,用其他型別的索引值,需要用到hashtable 類
在.net framework中,hashtable是system.collections命名空間提供的乙個容器,用於處理和表現類似key/value的鍵值對,其中key通常用來快速查詢,同時key是區分大小寫;value用於儲存對應於key的值。hashtable中key/value鍵值對均為object型別,所以hashtable可以支援任何型別的key/value鍵值對。、
索引值為字串型的例項:
using system;//引用system命名空間
using system.collections;//引用此命名空間,因為hashtable類包含在其中
class indexclass
set}
}class test
}還有乙個知識點需要說明:索引器可以過載,下面通過乙個例項說明過載。本例的功能是可以通過學號查詢學生姓名,或者姓名查詢學生學號
using system;//引用system命名空間
using system.collections;//引用此命名空間,因為hashtable類包含在其中
class indexclass
set}
public int this[string aname]//定義索引器,和上乙個索引器構成過載
return -1;
}set}}
class test
}索引器和陣列的比較:
1. 索引器的索引值(index)型別不受限為整數;用來訪問陣列的索引值(index),其型別一定為整數,然而索引器可以定義其他型別的索引值。
2. 索引器允許過載(overloading)
3. 索引器不是乙個變數;索引和陣列的不同地方在於,索引器並沒有直接對應應用資料儲存地方,而陣列則有。索引器有get訪問器和set訪問器,用來知名要讀取或寫入索引元素時,需要執行的**。
索引器與屬性的不同點:
1. 標識方式:屬性以名稱來標識;索引器則以函式簽名來標識。
2. 索引器可以被過載:因為屬性是以名稱標識的,所以不能被過載;索引器是用函式簽名標識的,因此可以過載。
3. 索引器不可以宣告為static:屬性可以為static,而索引器永遠屬於例項成員,不能為static.
帶有多引數的索引器的使用範例:
using system;
using system.collections;
//定義乙個學生類,包括學生的姓名,課程id,成績
class coursescore
public string name
set}
public int courseid
set}
public int score
set}
}//定義乙個coursescoreindexer類的索引器
class coursescoreindexer
public int this[string name, int courseid]
return -1;
}set}}
class test
}如何實現把張三的全部成績列印出來呢?索引器重載
using system;
using system.collections;
//定義乙個學生類,包括學生的姓名,課程id,成績
class coursescore
public string name
set}
public int courseid
set}
public int score
set}
}//定義乙個coursescoreindexer類的索引器,用以儲存和查詢coursescore類
class coursescoreindexer
public int this[string name, int courseid]
return -1;
}set
}public arraylist this[string name]
return tmparr;}}
}class test
}
C 中的索引器
索引器 是c 引入的乙個新型的類成員,它允許類或結構的例項按照與陣列相同的方式進行索引。索引器型別於屬性,它們的不同之處在於索引器的訪問器採用引數。定義了索引器之後,就可以像訪問陣列一樣,使用運算子訪問類的成員。定義索引器的方式與定義屬性有些類似,其一般形式如下 修飾符 資料型別 this 資料型別...
C 中的索引器
索引器是一種特殊的類成員,它能夠讓物件以類似陣列的方式來訪問,使程式看起來更為直觀,更容易編寫。1 索引器的定義 c 中的類成員可以是任意型別,包括陣列和集合。當乙個類包含了陣列和集合成員時,索引器將大大簡化對陣列或集合成員的訪問操作。定義索引器的方式與定義屬性有些類似,其一般形式如下 修飾符 資料...
C 中的索引器
當程式中的某個類或結構體在意義上與陣列類似,但由於自身不是陣列型別,不能使用下標進行訪問時,我們可以通過在類或結構體中定義乙個索引器,實現以下標訪問類中儲存的值。例如int型別有32位,如果我們想使用int進行位操作,就可以使用索引器。例子如下 class intbits 假設我們想將該int作為乙...