属性 | 索引器 |
1.允许调用方法,如果它们是公共数据成员 | 允许调用对象上的方法,如果对象是个数组 |
2.可以通过简单的名称进行访问 | 通过索引器进行访问 |
3.可以为静态成员或实例成员 | 必须为实例成员 |
4.属性的get访问器没有参数 | 索引器的get访问器具有与索引器相同的形参表 |
5.属性的set访问器包含隐式value参数 | 除了value参数外,索引器的set访问器具有与索引器相同的形参表 |
1
using
System;
2 using System.Data;
3 using System.Configuration;
4 using System.Collections;
5 using System.Web;
6 using System.Web.Security;
7 using System.Web.UI;
8 using System.Web.UI.WebControls;
9 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11
12 public partial class 索引器 : System.Web.UI.Page
13 {
14 public class arr
15 {
16 private string[] myarr; //声明一个字符串类型的数组
17 private int szmax;
18 public arr(int size) //利用构造函数初始化数组
19 {
20 szmax = size;
21 myarr = new string[size];
22 for (int i = 0; i < size; i++)
23 {
24 myarr[i] = "空值"; //给数组元素全部赋值为“空值”
25 }
26 }
27 public string this[int j] //j是位置参数,参数类型是数组元素的位置,整型的
28 {
29 get
30 {
31 return myarr[j];
32 }
33 set
34 {
35 myarr[j] = value;
36 }
37 }
38 public string this[string val]
39 {
40 get
41 {
42 int count = 0;
43 for (int i = 1; i < szmax; i++)
44 {
45 if (myarr[i] == val)
46 {
47 count++;
48 }
49 }
50 return count.ToString();
51 }
52 set
53 {
54 for (int i = 0; i < szmax; i++)
55 {
56 if (myarr[i] == val)
57 {
58 myarr[i] = value;
59 }
60 }
61 }
62 }
63 }
64
65 protected void Page_Load(object sender, EventArgs e)
66 {
67 int size = 15;
68 arr write = new arr(size);
69 write[1] = "111111";
70 write[3] = "22222";
71 for (int i = 0; i < size; i++)
72 {
73 Response.Write(write[i] + "<br>");
74 }
75 Response.Write("<br>空值有:" + write["空值"] + "<br>");
76 write["空值"] = "抽烟";
77 write[6] = "122333";
78 for (int i = 0; i < size; i++)
79 {
80 Response.Write(write[i] + "<br>");
81 }
82 }
83}
84
85
2 using System.Data;
3 using System.Configuration;
4 using System.Collections;
5 using System.Web;
6 using System.Web.Security;
7 using System.Web.UI;
8 using System.Web.UI.WebControls;
9 using System.Web.UI.WebControls.WebParts;
10 using System.Web.UI.HtmlControls;
11
12 public partial class 索引器 : System.Web.UI.Page
13 {
14 public class arr
15 {
16 private string[] myarr; //声明一个字符串类型的数组
17 private int szmax;
18 public arr(int size) //利用构造函数初始化数组
19 {
20 szmax = size;
21 myarr = new string[size];
22 for (int i = 0; i < size; i++)
23 {
24 myarr[i] = "空值"; //给数组元素全部赋值为“空值”
25 }
26 }
27 public string this[int j] //j是位置参数,参数类型是数组元素的位置,整型的
28 {
29 get
30 {
31 return myarr[j];
32 }
33 set
34 {
35 myarr[j] = value;
36 }
37 }
38 public string this[string val]
39 {
40 get
41 {
42 int count = 0;
43 for (int i = 1; i < szmax; i++)
44 {
45 if (myarr[i] == val)
46 {
47 count++;
48 }
49 }
50 return count.ToString();
51 }
52 set
53 {
54 for (int i = 0; i < szmax; i++)
55 {
56 if (myarr[i] == val)
57 {
58 myarr[i] = value;
59 }
60 }
61 }
62 }
63 }
64
65 protected void Page_Load(object sender, EventArgs e)
66 {
67 int size = 15;
68 arr write = new arr(size);
69 write[1] = "111111";
70 write[3] = "22222";
71 for (int i = 0; i < size; i++)
72 {
73 Response.Write(write[i] + "<br>");
74 }
75 Response.Write("<br>空值有:" + write["空值"] + "<br>");
76 write["空值"] = "抽烟";
77 write[6] = "122333";
78 for (int i = 0; i < size; i++)
79 {
80 Response.Write(write[i] + "<br>");
81 }
82 }
83}
84
85