class Student
{
string _name;
public Student(string name)
{
this._name=name;
}
public string name
{
get
{
return _name;
}
}
}
class Group
{
Student[] students;
public Group(int capacity)
{
students =new Student[capacity];
}
public Student this[int index]
{
get
{
if (index < 0 || index >= students.Length)
{
Console.WriteLine("索引无效");
return null; //return之后跳出函数,下面不用加esle
}
return students[index];
}
set
{
if (index < 0 || index >= students.Length)
{
Console.WriteLine("索引无效");
return;
}
students[index]=value;
}
}
public Student this[string name]
{
get
{
foreach (Student item in students)
{
if (item.name==name)
{
return item;
}
}
Console.WriteLine("未找到");
return null;
}
}
}
class Program
{
static void Main(string[] args)
{
Group objGroup = new Group(3);
Student objStudent1 = new Student("张三");
Student objStudent2 = new Student("赵四");
Student objStudent3 = new Student("王五");
objGroup[0] = objStudent1;
objGroup[1] = objStudent2;
objGroup[2] = objStudent3;
//按索引检索
Student stu1 = objGroup[2];
Console.WriteLine(stu1.name);
//按名称检索
Student stu2 = objGroup["赵四"];
Console.WriteLine(stu2.name);
}
}