程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#實現Ruby的負數索引器,

C#實現Ruby的負數索引器,

編輯:C#入門知識

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved