🙂
【C#】 System.CollectionsよりSystem.Collections.Generic?
結論:基本的に、System.Collections.Genericを使おう
- Microsoft Learnの
SortedListページでも以下のように記載
新しい開発には クラスを SortedList 使用しないことをお勧めします。 代わりに、ジェネリック System.Collections.Generic.SortedList<TKey,TValue> クラスを使用することをお勧めします。
参照元
なぜ非ジェネリックは推奨されないのか
Paulo Janotti, DE0006: Non-generic collections shouldn't be used を参考に、主な理由を表に整理
| 比較項目 | System.Collections | System.Collections.Generic |
|---|---|---|
| 型安全性 | 全てobject 扱い(キャストミスが起きやすい) |
型引数で静的にチェック可 |
| ボクシング | 値型を使うと頻繁に発生 | 発生しにくい |
| パフォーマンス | ランタイムでの型チェックや変換で遅くなることも | 最適化されやすい |
自分語り
- 調べているとき、「はぇ~、そういうことなのか」と思っていたが、改めて見返すと「これC#中級者以上は当たり前に知っているのでは?」とも思えてきた。もっと成長したいです…
Discussion