{
get
{
return a[index];//通过get访问器,在外部类通过索引器访问数组时,直接给出index值,再通过index值作为数值的索引值得到数组的元素值
}
//使用set访问器,可以限制不符合条件的数值不许给数组a赋值
set
{
a[index]=value;
}
2 class Student
3 {
4 //数组CJ定义了五个学生的成绩。
5 int[] CJ = { 81, 72, 63, 64, 95 };
6 //定义一个索引器供外部类访问CJ数组
7 public int this[int Xh]
8 {
9 get
10 { //返回索引值为学号-1的数组CJ的元素值,即学生的成绩
11 return CJ[Xh - 1];
12 }
13 //使用set访问器,限制不符合条件的数值不许给数组CJ赋值
14 set
15 { //当外部给数组的元素赋值时,先判断值的条件,满足条件时,将value赋值给索引值为学号-1的成绩数组CJ的元素。
16 if (value > 100 || value < 0)
17 Console.WriteLine("学生的分数应在0到100之间");
18 else
19 CJ[Xh - 1] = value;
20 }
21 }
22 }
23 class Program
24 {
25 static void Main(string[] args)
26 {
27
28 Console.Write("请输入查询成绩的学生学号1-5号:");
29 int xh = int.Parse(Console.ReadLine());
30
31 //创建一个student类的实例对象class1班级1.
32 Student class1 = new Student();
33 //使用“对象[索引值]”的方式得到student类中数组CJ的元素值。
34 Console.WriteLine(class1[xh]);
35
36 //如果想给数组的元素赋值时,就使用到了set访问器,先对xgcj进行判断,再赋值。
37 Console.Write("请输入修改成绩的学生学号1-5号:");
38 int xgxh = int.Parse(Console.ReadLine());
39 Console.Write("请输入修改的成绩:");
40 int xgcj = int.Parse(Console.ReadLine());
41
42 //赋值也使用对象【索引值】的方式
43 class1 [xgxh ]=xgcj;
44 Console.WriteLine("修改后的学生成绩为:"+ class1[xgxh]);
45
46 Console.WriteLine("***********************************");
47
48 //当给数组中第4个元素不符合条件的值时,就会执行set语句中的if的语句块,
49 //即提示出错误提示。
50 class1[4] = 102;
51
52 }
53
2 class Student
3 {
4 //数组CJ定义了五个学生的成绩。
5 Hashtable CJ = new Hashtable();
6
7
8 //定义一个索引器供外部类访问CJ,学生姓名为索引值
9 public string this[string Name]
10 {
11 get
12 { //通过传入的哈希表的键,得到值。
13 return CJ[Name].ToString ();
14 }
15
16 set
17 {
18 //给哈希表赋值的两种方式。
19 CJ[Name] = value;
20 // CJ.Add(Name,value );
21 }
22 }
23 }
24 class Program
25 {
26 static void Main(string[] args)
27 {
28
29 Console.Write("请输入学生的姓名:");
30 string name = Console.ReadLine();
31 Console.Write("请输入此学生的成绩:");
32 string cj = Console.ReadLine();
33
34 //创建一个student类的实例对象class1班级1.
35 Student class1 = new Student();
36
37 //赋值也使用对象【索引值】的方式
38 class1 [name]=cj;
39
40 Console.WriteLine("姓名为{0}的学生成绩为:{1}",name,class1 [name]);
41
42
43 }