中の技術日誌ブログ

C#とC++/CLIと
VBと.NETとWindowsで戯れる
 

目次

Blog 利用状況

ニュース

自己紹介

東京でソフトウェアエンジニアをやっています。
お仕事大募集中です。
記事執筆や、講師依頼とかでも何でもどうぞ(*^_^*)
似顔絵 MSMVPロゴ
MSMVP Visual C# Since 2004/04-2013/03

記事カテゴリ

書庫

日記カテゴリ

00-整理

01-MSMVP

第8回 ジェネリックまとめ

第8回 ジェネリックまとめ

これまでジェネリックが導入されることで1.xと2.0でどのようにプログラムが変わるかを見てきた。

もともとジェネリックが利用されていなかったSystem.Collections名前空間はすべてSystem.Collections.Genericsに置き換わったととってもらってかまわない。

以前のクラスと、2.0からのクラスの対比表は以下のとおりだ。

1.x 2.0
ArrayList List<T>
HashTable Dictionary<K, V>
Queue Queue<T>
Stack Stack<T>
SortedList SortedDictionary<K, V>
  LinkedList<T>
  Collection<T>

1.xで存在したコレクション系クラスはすべて置き換わるものがジェネリックで提供されている。

とはいえ、たとえばArrayListにはObsoletedAttributeは付けられない。
どのような型でも取りうるArrayListにはまだ寿命が残っているということだろう。

ただしForEachメソッドなどの新しい仕組みを利用可能にするために、やはりList<T>に移行すべきだろう。

以前までと同じ使い方をしようと思えばList<Object>とするだけで以前と同じ使い方が可能になっている。

いままでわざわざArrayListをラップしたクラスを作って、受け入れる型を制限してきたことを考えるだけで大きな進展である。

是非2.0のジェネリックを使ってほしい。

連載をまとめてあります。 http://blogs.users.gr.jp/naka/category/285.aspx

投稿日時 : 2004年12月20日 23:13

コメントを追加

No comments posted yet.
タイトル
名前
URL
コメント