C# 索引器的實現過程

來源:互聯網
上載者:User

       類的每一個屬性都必須擁有一個唯一的名稱,而類裡定義的每一個索引器都必須擁有唯一的簽名

或者參數列表,這樣就可以實現索引器重載。屬性可以是static,而索引器必須是執行個體成員。為索

引器定義的訪問函數可以訪問傳遞給索引器的參數,而屬性訪問函數則沒有參數我們也可以為接

口定義索引器,在為介面聲明索引器的時候,記住聲明只是表示索引器的存在,你只需要提供恰

當的訪問函數即可不必包括修飾符。

看下面案例:

ITestIndex.cs檔案

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace AlgorithmDemo{    interface ITestIndex    {        string this[int index]        {            get;            set;        }    }}
TestIndex.cs檔案

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace AlgorithmDemo{    class TestIndex<T>    {        private T[] arr = new T[100];        public T this[int i]        {            get { return arr[i]; }            set { arr[i] = value;}        }    }}
Program.cs

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace AlgorithmDemo{    class Program    {        static void Main(string[] args)        {            TestIndex<string> test = new TestIndex<string>();            string data = "hello,world!";            for (int i = 0; i < data.Length; i++)            {                test[i] = data[i].ToString();            }            for (int i = 0; i < data.Length; i++)            {                Console.Write(test[i]);            }            while (true) ;        }    } }            
效果圖:






















聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.