C#.NETのListとIListの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


C#.NETのListとIListの主な違いは、Listはインデックスでアクセスできるオブジェクトのリストを表すクラスであり、IListはインデックスでアクセスできるオブジェクトのコレクションを表すインタフェースであることです。

ListとIListは、オブジェクトの集合を表すのに使われます。

整数、文字列などのオブジェクトを格納することができます。

ListやIListの要素を挿入、削除、検索、ソートするメソッドがあります。

ListとIListの大きな違いは、Listが具象クラスであり、IListがインタフェースであることです。

全体として、ListはIListインタフェースを実装した具象型です。

スポンサーリンク

リストとは C#.NET

Listは、様々なインターフェースを実装したクラスです。

プログラマーはListオブジェクトを作成し、そのインターフェイス型の変数に代入することができます。

また、以下のようにListのオブジェクトを作成することも可能です

List intList = new List();

上記のListオブジェクトは整数のリストを格納することができます。

図1:Listを用いたC#.NETプログラム

上記のプログラムでは、objはList型のオブジェクトです。

Addメソッドは、Listに値を挿入するのに役立ちます。

15行目は、インデックス2の要素を削除することを示しています。

したがって、要素3はリストから取り除かれます。

最後に、for eachループで、Listに存在するすべての要素を表示しています。

IListとは C#.NET

IListオブジェクトは、以下のように作成することができます。

IList intList = new List>int>() とします。

List は、IList インターフェースの具体的な実装です。

  OOPでは、具象クラスを使うよりもインタフェースを使うのが良いプログラミングプラクティスです。

したがって、プログラマはIList>T>型変数を使用してListのオブジェクトを作成することができます。

図2:IListを使用したC#.NETプログラム

上記のプログラムでは、objはIList型のオブジェクトです。

Addメソッドは、IListに値を挿入するのに役立ちます。

15行目では、インデックス2の要素を削除しています。

したがって、30という要素がリストから削除されます。

最後に、for eachループで、リスト内のすべての要素を表示しています。

C#.NETにおけるリストとIListの違い

定義

Listは、インデックスでアクセスできるオブジェクトのリストを表すクラスで、 IListは、インデックスで個別にアクセスできるオブジェクトのコレクションを表す インターフェースです。

基本情報

このように、C#.NETにおけるListとIListの大きな違いは、Listがクラスであるのに対し、IListはインターフェースであることです。

ヘルパーメソッドの数

さらに、ListはIListよりも多くのヘルパーメソッドを持っています。

これもC#.NETのListとIListの違いの一つです。

結論

ListとIListを同じように使っている人がいますが、ListとIListには違いがあります。

 C#.NETにおけるListとIListの主な違いは、Listがインデックスでアクセスできるオブジェクトのリストを表すクラスであるのに対し、IListはインデックスでアクセスできるオブジェクトのコレクションを表すインターフェースであることです。

.

タイトルとURLをコピーしました