当前位置:新注册送38元体验金 > 新注册送38元体验金编程 > C#实现Ruby的负数索引器,

C#实现Ruby的负数索引器,

文章作者:新注册送38元体验金编程 上传时间:2019-08-22

C#实现Ruby的负数索引器,

    public class InvertibleList<T> : List<T>
    {
        public new T this[int index]
        {
            get
            {
                if (index >= 0) return base[index];
                if (Count   index < 0)
                    throw new IndexOutOfRangeException();
                return this[Count   index];
            }
            set
            {
                if (index >= 0)
                    base[index] = value;
                else
                {
                    if (Count   index < 0) 
                        throw new IndexOutOfRangeException();
                    this[Count   index] = value;
                }
            }
        }

    }

使用方法:

            InvertibleList<string> list=new InvertibleList<string>
            {
                "1",
                "2",
                "3",
                "4",
                "5",
            };

            list[-2] = "asd";
            list.ForEach(Console.WriteLine);

 

public class InvertibleListT : ListT { public new T this [新注册送38元体验金, int index] { get { if (index = 0 ) return base [index]; if (Count index 0 ) throw new...

本文由新注册送38元体验金发布于新注册送38元体验金编程,转载请注明出处:C#实现Ruby的负数索引器,

关键词: