C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のListとIListの違いは何ですか?


C#のListとIListの主な違いは、Listはインデックスでアクセスできるオブジェクトのリストを表すクラスであるのに対し、IListはインデックスでアクセスできるオブジェクトのコレクションを表すインターフェイスであるということです。 IListインターフェイスは2つのインターフェイスから実装され、ICollectionとIEnumerableです。

ListとIListは、オブジェクトのセットを示すために使用されます。整数、文字列などのオブジェクトを格納できます。リストまたはIListの要素を挿入、削除、検索、および並べ替えるメソッドがあります。 ListとIListの主な違いは、Listが具象クラスであり、IListがインターフェースであることです。全体として、ListはIListインターフェースを実装する具体的なタイプです。

例1

using System;
using System.Collections.Generic;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         IList<string> ilist = new IList<string>();
         //This will throw error as we cannot create instance for an IList as it is an interface.
         ilist.Add("Mark");
         ilist.Add("John");
         foreach (string list in ilist){
            Console.WriteLine(list);
         }
      }
   }
}

例2

using System;
using System.Collections.Generic;
namespace DemoApplication{
   class Demo{
      static void Main(string[] args){
         IList<string> ilist = new List<string>();
         ilist.Add("Mark");
         ilist.Add("John");
         List<string> list = new List<string>();
         ilist.Add("Mark");
         ilist.Add("John");
         foreach (string lst in ilist){
            Console.WriteLine(lst);
         }
         foreach (string lst in list){
            Console.WriteLine(lst);
         }
         Console.ReadLine();
      }
   }
}

出力

上記のコードの出力は

です。
Mark
John
Mark
John

  1. DirectX11とDirectX12の違いは何ですか?

    DirectXは、マルチメディアコンテンツをレンダリングし、グラフィカルハードウェアと通信するためにソフトウェアによって使用されるAPIまたはアプリケーションプログラミングインターフェイスのコレクションです。 DirectXの主要コンポーネントAPIであるDirect3Dは、ソフトウェアとグラフィックスハードウェア間の通信を処理します。すべてのハードウェアが異なるため、関数と呼び出しの標準化されたライブラリを使用してグラフィックカードと通信すると、ゲーム開発がスピードアップします。これはハードウェアアブストラクションと呼ばれ、APIの主な仕事です。 車について考えてみましょう。1台の車を運転

  2. Pythonリストとタプルの違いは何ですか?

    リストとタプルの主な違いは、タプルは不変であるということです。これは、一度作成したタプルの値を変更できないことを意味します。したがって、値を変更する必要がある場合は、リストを使用してください。 タプルを使用する利点- わずかなパフォーマンスの向上に役立ちます。 タプルは不変であるため、辞書のキーとして使用できます。 変更できない場合は、他の誰も変更できません。つまり、API関数など、質問されることなくタプルを変更することを心配する必要はありません。 リストよりも少ないスペースで済みます。 Pythonでのリストとタプルの違いについて詳しくは、こちらをご覧ください-