您的位置:首页 > 编程语言 > C#

「基础」C#中的索引器

2008-04-23 23:46 405 查看

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/>");


        }


    }


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# null .net