欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现Ruby的负数索引器

程序员文章站 2022-05-03 16:23:49
c#实现ruby的负数索引器 public class invertiblelist : list { pub...

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#能够有所帮助