C#中索引器的作用和用法分别是什么?

 我来答
甜翰路9365
推荐于2019-11-11 · TA获得超过183万个赞
知道顶级答主
回答量:69.7万
采纳率:53%
帮助的人:3.6亿
展开全部
实例+索引的方法来访问类成员。
using System;
class MyTest
{
public static int Main()
{
SchoolMate myMate=new SchoolMate();
Console.WriteLine(myMate.linkman[0]); //直接访问成员

//以索引器的形式访问成员
Console.WriteLine("name:{0}",myMate[0]);

Console.WriteLine("Enter your name:");
myMate[0]=Console.ReadLine();
Console.WriteLine("name:{0}",myMate[0]);
Console.WriteLine("sex:{0}",myMate[1]);
Console.WriteLine("age:{0}",myMate[2]);
return 0;
}
}
class SchoolMate
{
public string[] linkman;

public SchoolMate()
{
linkman=new string[]{"yesline","male","23"};
}

public string this[int index]
//string指返回值,this指类,或此类创建的实例。
{
get
{
return linkman[index];
}
set
{
linkman[index]=value;
}
}

}
在此成员中,访问linkman数组当然可以用另外的方法,如访问第一个成员:myMate.linkman[0]。
既然可以这样,为什么要用索引器呢?书上说当类是容器时用索引器有用,可我还没看到此类例子。
可以重载索引器。如再定义一个索引器:
public int othertest=23;
//定义
public int this[string index] //index的类型不能在为int,因为已定义过
{
get{return othertest;}
set{othertest=value;}
}
//使用,查看结果:
Console.WriteLine(myMate["1"]);
//myMate[""]中所以可以为任意string
//输出:23
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式