C# 索引器

来源:互联网 发布:c 并发编程 编辑:程序博客网 时间:2024/05/29 04:15
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Indexer{    class Program    {        static void Main(string[] args)        {            var name = new IndexedName();            name[0] = "1";            name[1] = "2";            name[2] = "3";            name[3] = "4";            name[4] = "5";            name[5] = "6";            name[6] = "7";            name[7] = "8";            name[8] = "9";            name[9] = "10";            for (int i = 0; i <= 10; i++)            {                Console.WriteLine(name[i]);            }            Console.WriteLine(name["10"]);            Console.WriteLine(name["fweggreg"]);            Console.ReadKey();        }    }    //在类上实现索引器    class IndexedName    {        string[] nameList = new string[10];        public IndexedName()        {            for (int i = 0; i < nameList.Length - 1; i++)            {                nameList[i] = "N/A";            }        }        public string this[int index]        {            get            {                if (index >= 0 && index <= nameList.Length - 1)                {                    return nameList[index];                }                return "Error!";            }            set            {                if (index >= 0 && index <= nameList.Length - 1)                {                    nameList[index] = value;                }            }        }        public int this[string name]        {            get            {                int index = 0;                while (index < nameList.Length)                {                    if (nameList[index] == name)                    {                        return index;                    }                    index++;                }                return -1;            }        }    }    //在接口上建立索引器    public interface ISomeInterface    {        int this[int inedx]        {            get;            set;        }    }    class IndexerClass : ISomeInterface    {        private int[] arr = new int[100];        public int this[int index]        {            get            {                return arr[index];            }            private set            {                arr[index] = value;            }        }    }}

0 0
原创粉丝点击