索引器允許類或者結構的例項按照與陣列相同的方式進行索引取值,索引器與屬性類似,不同的是索引器的訪問是帶參的。
索引器和陣列比較:
(1)索引器的索引值(index)型別不受限制
(2)索引器允許過載
(3)索引器不是乙個變數
索引器和屬性的不同點
(1)屬性以名稱來標識,索引器以函式形式標識
(2)索引器可以被過載,屬性不可以
(3)索引器不能宣告為static,屬性可以
乙個簡單的索引器例子
using system;
using system.collections;
public class indexerclass
return null;
}//實現索引器的set方法
set}
}}public class test
}
以字串作為下標,對索引器進行訪問
public class indexerclass
}}public class test
}
索引器的過載
public class indexerclass
set
}//2:通過values訪問key
public int this[string aname]
}return -1;
}set
}}public class test
}
多參索引器
using system;
using system.collections;
//入職資訊類
public class entrantinfo
public entrantinfo(string name, int num, string department)
public string name
set
}public int num
set
}public string department
set
}}//宣告乙個類entrantinfo的索引器
public class indexerforentrantinfo
//宣告乙個索引器:以名字和編號查詢訪問部門資訊
public string this[string name, int num]
}return null;
}set
}//宣告乙個索引器:以編號查詢名字和部門
public arraylist this[int num]
}return temp;}}
//還可以宣告多個版本的索引器...
}public class test
}}
C 中屬性和索引的區別
屬性和索引器的差別 乙個物件只有乙個屬性值,所以要存放多個值必須例項化多個物件 通常情況下,例項化乙個陣列的物件,接著例項化的物件賦給這個陣列 乙個物件對應的索引是乙個陣列,並且可以存放多個數值或字串,所以只需要例項化乙個物件就可以存放以及訪問多個儲存內容。using system using sy...
C 欄位和屬性,索引器的區別
一 c 欄位和屬性的區別與介紹 自字段 訪問許可權 值型別 欄位名 例如 private int number 屬性 public int number set 欄位和屬性的區別。例子說明 如果我們有乙個公有字段 如成績的分數 public int score 我們可以在類的外部,訪問,修改字段。但...
c 屬性和索引器
1 屬性 所謂屬性其實就是特殊的類成員,它實現了對私有類域的受控訪問。在c 語言中有兩種屬性方法,其一是get,通過它可以返回私有域的值,其二是set,通過它就可以設定私有域的值。比如說,以下面的 為例,建立學生姓名屬性,控制對name欄位的受控訪問 2 索引器 簡單說來,所謂索引器就是一類特殊的屬...