C 類中索引器的使用

2021-09-07 19:32:47 字數 1651 閱讀 7862

索引器(indexer)是c#引入的乙個新型的類成員,它使得類中的物件可以像陣列那樣方便、直觀的被引用。索引器非常類似於屬性,但索引器可以有引數列表,且只能作用在例項物件上,而不能在類上直接作用。定義了索引器的類可以讓您像訪問陣列一樣的使用 [ ] 運算子訪問類的成員。(當然高階的應用還有很多,比如說可以把陣列通過索引器對映出去等等)

請看**,下面是類的定義,中間包含了乙個索引器定義

class

program

}public

class

person

get

}//定義乙個 password 屬性來操作 password 字段

public

string

password

get

}//定義索引器,name 欄位的索引值為 0 ,password 欄位的索引值為 1

public

string

this[int

index]

set }

}

c#索引器(一)

索引器允許類和結構的例項按照與陣列相同的方式進行索引,索引器類似與屬性,不同之處在於他們的訪問器採用引數。被稱為有參屬性。

簡單的索引器例項:

class

program

}class

indexclass

set

}}

索引器與陣列的比較:

索引器的索引值不受型別限制。用來訪問陣列的索引值一定是整數,而索引器可以是其他型別的索引值。

索引器允許過載,乙個類可以有多個索引器。

索引器不是乙個變數沒有直接對應的資料儲存地方。索引器有get和set訪問器。

c#索引器(二)

索引器允許類和結構的例項按照與陣列相同的方式進行索引,索引器類似與屬性,不同之處在於他們的訪問器採用引數。被稱為有參屬性。

簡單的索引器例項:

索引器與屬性的比較:

標示方式:屬性以名稱來標識,索引器以函式簽名來標識。

索引器可以被過載。屬性則不可以被過載。

屬性可以為靜態的,索引器屬於例項成員,不能被宣告為static

多引數索引器例項:

class

program

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 索引器類似於屬性,不同之處在於它們的訪問器採用引數。使用索引器可以用類似於...