//学生类
class Student
{
private string _name;
private int _id;
//属性Name
public string Name
{
get
{
return this._name;
}
set
{
this._name = value;
}
}
//属性Id
public int Id
{
get
{
return this._id;
}
set
{
this._id = value;
}
}
}
//小组类
class Group
{
private Student[] students;
public Group(int size)
{
students = new Student[size];
}
//建立Id索引
public Student this[int index]
{
get
{
if (index < 0 || index >= students.Length)
{
Console.WriteLine("下标越界");
return null;
}
return students[index];
}
set
{
if (index < 0 || index >= students.Length)
{
Console.WriteLine("下标越界");
return;
}
students[index] = value;
}
}
//建立Name索引
public Student this[string index]
{
get
{
foreach (Student s in students)
{
if (s.Name == index)
{
return s;
}
}
Console.WriteLine("没有这个学生");
return null;
}
}
}
//测试类
class Test
{
static void Main(string[] args)
{
Group g = new Group(2);
Student s1 = new Student();
s1.Id = 1;
s1.Name = "张三";
Student s2 = new Student();
s2.Id = 2;
s2.Name = "李四";
g[0] = s1;
g[1] = s2;
Console.WriteLine(g[0].Id.ToString() + " " + g[0].Name);
Console.WriteLine(g["李四"].Id.ToString()+" "+g["李四"].Name);
}
}