索引器 使用索引示例: 運行: ...
索引器
索引器能夠使對象像數組一樣被索引,使用數組的訪問方式 object[x]
索引器的聲明在某種程度上類似於屬性的聲明,例如,使用 get 和 set 方法來定義一個索引器。
不同的是,屬性值的定義要求返回或設置一個特定的數據成員,而索引器的定義要求返回或設置的是某個對象實例的一個值,即索引器將實例數據切分成許多部分,然後通過一些方法去索引、獲取或是設置每個部分。
定義屬性需要提供屬性名,而定義索引器需要提供一個指向對象實例的 this 關鍵字。
索引可以重載
使用索引示例:
using System; namespace IndexerApplication { class indexC { public static int number = 10; private string[] str = new string[number]; public indexC() { for(int i = 0; i < number; i++) { str[i] = "null"; } } public string this[int index] //創建索引,string為類被引用時傳入的數據,int為索引的類型 { set { if (index >= 0 && index < 10) { str[index] = value; //value為傳入字元串 } } get { string temp=""; if (index >= 0 && index < 10) { temp = str[index]; } return temp; } } static void Main() { indexC I = new indexC(); I[0] = "zero"; I[1] = "one"; I[2] = "two"; for(int i = 0; i < indexC.number; i++) { Console.WriteLine(I[i]); } } } }
運行:
zero one two null null null null null null null C:\Program Files\dotnet\dotnet.exe (進程 5248)已退出,返回代碼為: 0。 若要在調試停止時自動關閉控制台,請啟用“工具”->“選項”->“調試”->“調試停止時自動關閉控制台”。 按任意鍵關閉此視窗...
參考鏈接:https://www.w3cschool.cn/wkcsharp/sozt1nvr.html