首页 > 编程 > C# > 正文

C#实现Ruby的负数索引器

2020-01-24 01:02:12
字体:
来源:转载
供稿:网友

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

代码很简单,使用也很方便,希望对大家学习C#能够有所帮助

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表