public partial class ISAM : System.Web.UI.Page ... { public class Arr ...{ private string[] _myArr;//申明一个字符串类型的数组。 private int _szMax;//--这是为重载做的。 public Arr(int size)//利用构造函数初始化数组。 ...{ _szMax = size;//--初始化重载的数组的长度。 _myArr = new string[size];//将数组大小初始化为传进来的值长度。 for (int i = 0; i < size; i++ ) ...{ _myArr[i] = "null";//将数组元素全部赋值为字符"null"; } } //下面我们来构造索引器。 public string this[int j]//j是位置参数,参数类型是数组元素的位置,整数的。 ...{ get ...{ return _myArr[j];//这里和构造属性是一样的,用get,set来控制元素的读写权限。 } set ...{ _myArr[j] = value; } } //下面我们做索引器重载的例子: public string this[string val]//--重载的参数为字符串型的,用于传入数组值。 ...{ get ...{ int count = 0; for (int i = 0; i < _szMax; i++ ) ...{ if (_myArr[i] == val) ...{ count++; } } return count.ToString(); } set ...{ for (int i = 0; i < _szMax; i++ ) ...{ if(_myArr[i] == val) ...{ _myArr[i] = value; } } } } } protected void Page_Load(object sender, EventArgs e) ...{ int size = 15; Arr temp = new Arr(size); temp[1] = "雨伞"; temp[4] = ".Net2.0"; temp[5] = "入门讲解"; //for (int i = 0; i < size; i++ ) //{ // Response.Write(temp[i]+"<br/>"); //} //Response.Write("<hr/>"); //Response.Write("<p>"+temp["null"]+"</p>");//这里可以计算出值为"null"的个数。 //下面怎么好像不行? temp["null"] = "喝点可乐先";//把所有为 "null" 值的全部改成 "喝点可乐先" for (int i = 0; i < size; i++) ...{ // if (temp[i] == "null") // { // temp[i] = "喝点可乐先"; // } // else // { // temp[i] = "<font color='red'>" + temp[i] + "</font>"; // } Response.Write(temp[i] + "<br/>"); } }}