中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c#索引器

發布時間:2020-07-06 15:15:14 來源:網絡 閱讀:379 作者:Liu_guozhu 欄目:開發技術

C#索引器


一:什么是C#的索引器:
     是一種特殊的類成員,它能夠讓對象以類似數組的方式來存取,使程序看起來更為直觀,更容易編寫。


二:C#"索引器”典型結構

c#索引器


為了更好的說明 C#“索引器”的功能,參考以下代碼:


    class Demo1
    {
        //容納0個整數的數組
        private int[] _Array = new int[10];

        /// <summary>
        /// 定義索引器
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        public int this[int index]
        {
            set
            {
                if (index >= 0 && index <= 10)
                {
                    _Array[index] = value;
                }
            }

            get
            {
                if (index < 0 || index >= 100)
                {
                    return 0;
                }
                else
                {
                    return _Array[index];
                }
            }
        }

        static void Main1(string[] args)
        {
            Demo1 obj = new Demo1();
            obj[0] = 1000;
            obj[1] = 2000;

            //輸出
            Console.WriteLine(obj[0]);
            Console.WriteLine(obj[1]);
        }
    }


三:C#"索引器”與數組的區別
    1:  索引器的索引值類型不限定為整數
    2:索引器允許重載
    3:索引器具有Get 與 Set 訪問器。
 
四: C#"索引器”與屬性的區別
    1:索引器以函數簽名方式this 來標識,而屬性采用名稱(名稱可以任意)來標識。
    2:索引器可以重載,屬性不能。
    3:索引器不能用Static ,而屬性可以。


索引器允許重載,給了更清晰的表述,請看如下示例:


    class Demo2
    {
        //容納0個整數的數組
        private Hashtable _HT = new Hashtable();
        private int[] _Array = new int[10];

        /// <summary>
        /// 定義索引器
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        public string this[string index]
        {
            set
            {
                _HT.Add(index,value);
            }

            get
            {
                return _HT[index].ToString();
            }
        }

        /// <summary>
        /// 索引器重載
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        public int this[int index]
        {
            set
            {
                if (index >= 0 && index <= 10)
                {
                    _Array[index] = value;
                }
            }

            get
            {
                if (index < 0 || index >= 100)
                {
                    return 0;
                }
                else
                {
                    return _Array[index];
                }
            }
        }

        static void Main(string[] args)
        {
            Demo2 obj = new Demo2();
            obj["zhangSan"] = "張三";
            obj["lisi"] = "李四";
            obj[1] = 3000;
            obj[2] = 4000;

            //輸出
            Console.WriteLine(obj["zhangSan"]);
            Console.WriteLine(obj["lisi"]);
            Console.WriteLine(obj[1]);
            Console.WriteLine(obj[2]);
        }
    }


總結:

    C#的索引器的使用概率不是很高,一般都集中在游戲開發人員(程序員)需要開發自己的“自定義集合”類型的時候使用,筆者在下一章節來給大家介紹如何開發自己的“自定義集合”。請大家圍觀。


  2016年9月5日


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商城县| 宣汉县| 防城港市| 雷山县| 晋州市| 屯昌县| 满城县| 会泽县| 天长市| 兴城市| 喜德县| 靖宇县| 思南县| 科技| 多伦县| 兴仁县| 大化| 庆安县| 安徽省| 濉溪县| 沽源县| 高邑县| 新营市| 且末县| 彭州市| 济源市| 敖汉旗| 大荔县| 虞城县| 体育| 雷州市| 南溪县| 宜宾市| 集安市| 崇明县| 江孜县| 临沭县| 宁晋县| 当阳市| 铜陵市| 衡山县|