usingSystem;usingSystem.IO;namespaceconsoleapplication2{classProgram {Static voidMain (string[] args) { varNames =NewIndexednames (); names[0] ="Hello"; names[1] ="Hong"; names[2] ="Qian"; names[3] ="Jin"; names[4] ="name"; names[5] ="Hao"; names[6] ="Good"; for(inti =0; I <=6; i++) {Console.WriteLine (names[i]); } Console.WriteLine (names["Jin"]); Console.WriteLine (names["AAAA"]); Console.readkey (); } } classIndexednames {Private string[] namelist=New string[Ten]; PublicIndexednames () { for(inti =0; i < namelist.length; i++) {Namelist[i]="N /A"; } } Public string This[intIndex] { Get { stringtmp; if(Index >0&& Index <= Namelist.length-1) {tmp=Namelist[index]; } Else{tmp=""; } returntmp; } Set { if(Index >0&& Index <= Namelist.length-1) {Namelist[index]=value; } } } Public int This[stringName] { Get { intindex =0; while(Index <namelist.length) {if(Namelist[index] = =name) { returnindex; } Index++; } return-1; } } } Public InterfaceISomeInterface {int This[intIndex] { Get; Set; } } classIndexerclass:isomeinterface {Private int[] arr=New int[ -]; Public int This[intIndex] { Get { returnArr[index]; } Private Set{Arr[index]=value; } } }}
The indexer for the C # language