索引器和陣列比較:
(1)索引器的索引值(index)型別不受限制
(2)索引器允許過載
(3)索引器不是乙個變數
索引器和屬性的不同點
(1)屬性以名稱來標識,索引器以函式形式標識
(2)索引器可以被過載,屬性不可以
(3)索引器不能宣告為static,屬性可以
乙個簡單的索引器例子
usingsystem;以字串作為下標,對索引器進行訪問usingsystem.collections;
public classindexerclass
return null;
}//實現索引器的set方法
set}
}}public classtest
}
public classindexerclass索引器的過載}}public classtest
}
public classindexerclass多參索引器set}
//2:通過values訪問key
public int this[stringaname]
}return -1;
}set
}}public classtest
}
usingsystem;usingsystem.collections;
//入職資訊類
public classentrantinfo
public entrantinfo(string name, int num, stringdepartment)
public stringname
set
}public intnum
set
}public stringdepartment
set
}}//宣告乙個類entrantinfo的索引器
public classindexerforentrantinfo
//宣告乙個索引器:以名字和編號查詢訪問部門資訊
public string this[string name, intnum]
}return null;
}set
}//宣告乙個索引器:以編號查詢名字和部門
public arraylist this[intnum]
}returntemp;}}
//還可以宣告多個版本的索引器...
}public classtest}}
C 索引器的用法
屬性被視為一種智慧型字段 類似地,索引器可被視為智慧型陣列,它的本質是有參屬性。屬性封裝乙個值,索引器封裝一組值。下面是乙個例子 假如我們要將int作為乙個由32個二進位制位構成的陣列使用,該怎麼辦?比如說,假如bits是int,我們想把它第1位設定位true,我們希望可以這樣寫 bits 0 tr...
c 索引器的簡單用法
abstract class bird public abstract string getname class eagle bird public override string name set public override string getname public eagle eagle ...
C 索引器 索引器的定義
索引器定義類似於屬性,但其功能與屬性並不相同。索引器提供一種特殊的方法編寫get和set訪問器。屬性可以像訪問字段一樣訪問物件的資料,索引器可以使使用者像訪問陣列一樣訪問類成員。定義索引器的語法如下 訪問修飾符 型別名稱 this 型別名稱 引數名 set索引器沒有像屬性和方法那樣的名字,關鍵字th...