当前位置: 首页 > 科技观察

一篇文章带你了解C#索引器

时间:2023-03-22 16:17:11 科技观察

本文转载自微信公众号《UP科技控》,作者conan5566。转载本文请联系UP技控公众号。概述索引器(Indexer)允许使用下标像访问数组一样访问对象。当您为类定义索引器时,该类的行为就像一个虚拟数组。您可以使用数组访问运算符[]来访问此类的成员。语法一维索引器的语法如下:element-typethis[intindex]{//getaccessorget{//returnthevaluespecifiedbyindex}//setaccessorset{//setthevaluespecifiedbyindex}}indexer(Indexer)索引器行为的声明有点类似于属性。与属性一样,您可以使用get和set访问器定义索引器。但是,属性返回或设置特定的数据成员,而索引器返回或设置对象实例的特定值。换句话说,它将实例数据分成更小的部分,并对每个部分进行索引,获取或设置每个部分。定义属性涉及提供属性名称。索引器的定义没有名称,但带有指向对象实例的this关键字。下面的例子演示了这个概念:usingSystem;namespaceIndexerApplication{classIndexedNames{privatestring[]namelist=newstring[size];staticpublicintsize=10;publicIndexedNames(){for(inti=0;i=0&&index<=size-1){tmp=namelist[index];}else{tmp="";}return(tmp);}set{if(index>=0&&index<=size-1){namelist[index]=value;}}}staticvoidMain(string[]args){IndexedNamesnames=newIndexedNames();names[0]="Zara";names[1]="Riz";names[2]="Nuha";names[3]="Asif";names[4]="Davinder";names[5]="Sunil";names[6]="Rubic";for(inti=0;i=0&&index<=size-1){tmp=namelist[index];}else{tmp="";}return(tmp);}set{if(index>=0&&index<=size-1){namelist[index]=value;}}}publicintthis[stringname]{get{intindex=0;while(index