雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

ループを使わずに配列の順序を逆にする

やまださんのコードを見て、ふと思いついたので書くだけ書いておこうと思います。
……ネタにすらならないです。 :p

class ReverseList<T> : ICollection<T> {
  private List<T> _list;

  public ReverseList() {
    _list = new List<T>();
  }

  public void Add(T item) {
    _list.Insert(0, item);
  }

  public IEnumerator<T> GetEnumerator() {
    return _list.GetEnumerator();
  }

  // ... 以下略
}

class Foo {
  static void Main() {
    var revlist = new ReverseList<int>();
    revlist.Add(1);
    revlist.Add(2);
    revlist.Add(3);
    revlist.Add(4);
    revlist.Add(5);

    foreach (var i in revlist) {
      Console.WriteLine(i);
    }
  }
}
5
4
3
2
1

……まぁ、これだと「配列の順序を逆にした」わけではないので、元の質問への回答としては不適切なんですが。 ^^;