本帖最后由 林洲 于 2011-12-4 23:48 编辑
这是从杨老师的基础视频里整理来的一个例子,希望对你有些帮助:
class Program //在这里使用索引
{
static void Main(string[] args)
{
Person p1 = new Person();
p1[1] = "小明";
Console.WriteLine(p1[1]+p1[2]);
Console.WriteLine( p1["tom", 3, 9]);//索引的重载,因为定义了两个不同参数的索引器
Console.ReadKey();
}
}
class Person
{
private string firstName = "大毛";
private string secondName = "二毛";
public string this[int index] //this可以看做是索引器函数的类名,中括号中的index表示用户输入的序号,public string中的string是由get中的方法体来决定的,返回的是string,那么这里就是string,是其他的类型时,这里就是其它相应的数据类型即索引器返回的数据类型
{
get
{
if (index==1)
{
return firstName;
}
else if (index==2)
{
return secondName;
}
else
{
throw new Exception("错误的序号!");
}
}
set
{
if (index==1)
{
firstName = value;
}
else if (index==2)
{
secondName = value;
}
else
{
throw new Exception("错误的序号!");
}
}
}
public string this[string name, int x, int y] //可以只有get(只读的)没有set;也可以只有set(只写),没有get
{
get { return name + x + y; }
}
} |