c 中的索引器

2021-05-26 16:16:01 字數 2455 閱讀 1514

索引器

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作為乙...