C# における ArrayList と Array: 違いと比較

C# では、array と ArrayList が最もよく使用されるデータ型であることが知られています。 配列は C# プログラミング言語の主要な機能ですが、C# の ArrayList はコレクションです。

主要な取り組み

  1. ArrayList は、任意のデータ型の要素を格納できる動的でサイズ変更可能なコレクションであり、要素が追加または削除されると、そのサイズが自動的に調整されます。 ただし、値の型のボックス化とボックス化解除により、パフォーマンス コストがかかる場合があります。
  2. C# の配列は、特定のデータ型の要素を格納できる固定サイズの厳密に型指定されたコレクションであり、ボックス化とボックス化解除が不要になるためパフォーマンスが向上しますが、初期化時に事前定義されたサイズが必要になります。
  3. C# における ArrayList と Array の主な違いは、柔軟性とタイプ セーフであり、ArrayList は動的なサイズ変更と複数のデータ型の格納を提供します。 対照的に、配列はより優れたパフォーマンスとタイプ セーフを提供しますが、サイズは固定されています。

ArrayList と C# の配列

ArrayList は、拡大または縮小できるオブジェクトの動的リストですが、配列は固定サイズです。 ArrayList には、要素の追加や削除などのデータ操作のためのメソッドがありますが、配列は手動でサイズ変更する必要があります。 ArrayList は異なるデータ型の要素を格納できますが、配列は同じデータ型の要素を格納できます。

ArrayList からデータにアクセスするには、オブジェクトを使用してループする必要がありますが、配列では、 できる オブジェクトなしで簡単にアクセスできます。

ArrayList と C の配列

 

比較表

比較パラメータ配列リスト配列
ArrayList は非ジェネリック型です配列は厳密に型指定されています。 同じデータ型の値のみを格納できます。
要素の数動的であるため、任意の数のデータ型を格納できます追加できる要素の数は決まっています。
パフォーマンスボックス化とボックス化解除が使用されるため、パフォーマンスが低下します。より優れたパフォーマンスを発揮します。
NULL値NULL 値を受け入れることができますそれはしません
CLASS静的クラスを使用します名前空間システムを使用します。 コレクション

 

C# の ArrayList とは?

配列リストは list インターフェイスを使用して初期化されます。 これは、C# で最も柔軟なデータの XNUMX つと見なされています。 プログラミング言語のコレクションは、データを格納し、プログラマーがデータを取得できるようにする特別なクラスです。

  1. ArrayList には固定サイズはなく、メモリ サイズは動的であり、必要に応じて変更できます。 コーダーが 4 つの要素のメモリを開始した場合、もう XNUMX つの要素を追加できます。
  2. 配列リストでは、サイズは 2^n の値で増加します。 また、ArrayList は非ジェネリックであるため、さまざまなデータ型の要素を格納できます。
  3. ArrayList の必須関数には、RemoveAt()、Remove()、Insert()、および Add() があります。
  4. また、null 要素を格納することもできます。

                                    システムを使用しています。 コレクション;

                                    ArrayList a = new ArrayList();

                                    a.add(1, “こんにちは”);

                                    a.add(4);

                                    a.add(8.23);

                                    a.add(null);

一部の関数は、ArrayList に格納されたデータを操作するために使用されます。

  1. Add(): ArrayList に要素を追加するために使用されます。
  2. Insert (): ArrayList の特定のインデックスに要素を挿入するために使用されます。
  3. Remove(): 単一の要素を削除するために使用されます。
  4. RemoveAt(): ArrayList 内の特定の要素を削除します。
 

C#の配列とは?

配列は、プログラマーが同じ型で固定長のデータを格納できるデータ型です。 ランタイム中に長さとデータの値を変更することはできません。 すべての配列要素にはインデックス値が与えられ、配列インデックスはゼロです。

したがって、デフォルト値は、配列の最初の要素のインデックスのゼロです。 の 構文 C# で配列を宣言および定義する方法は次のとおりです。 配列は参照データ型であるため、そのメモリはヒープ メモリに割り当てられます。

                                    Int[] 配列 = 新しい int[] { 10,20,30,40};

                        10 20 30 40 データ

                        0 1 2 3 指数

配列に関するいくつかの重要なポイント。

  1. 配列は固定サイズで、厳密に型指定されています。 この たとえば、整数値の配列を作成すると、文字列を格納できないことを意味します。
  2. データのボックス化解除やボックス化がないため、パフォーマンスが向上します。

C# における ArrayList と Array の主な違い

  1. 配列のサイズは固定されており、すべて同じ型の要素の連続したコレクションが含まれています。 配列リストのサイズは固定ではなく、2^n で増加します。
  2. 配列の次元と各次元の長さは、配列の作成時に初期化されます。 ランタイム中に配列の長さの値を変更することはできません。 ArrayList では、配列リストの長さの値を動的に変更できます。
  3. 配列の最初の要素のインデックスは 0 で、最後の要素のインデックスは n-1 です。n は配列のサイズの長さです。
  4. ArrayList には異なるデータ型の要素が含まれますが、配列には同様のデータ型のデータが含まれます。 たとえば、Array が整数型の場合、整数のみを配列に格納できます。
  5. 配列は厳密に型指定されたデータ型であり、その効率は ArrayList よりも優れています。 Arraylist では、ボックス化解除とボックス化が必要になるため、効率が低下します。
  6. ArrayList のサイズは自動的に増加します。 したがって、任意のサイズを指定する必要があります。
XとYの違い 43
参考文献
  1. ArrayList クラス (System.Collections) | Microsoft Docs
  2. https://www.itu.dk/research/c5/latest/ITU-TR-2006-76.pdf

最終更新日 : 11 年 2023 月 XNUMX 日

ドット1
XNUMXつのリクエスト?

私はあなたに価値を提供するために、このブログ記事を書くことに多大な努力を払ってきました. ソーシャルメディアや友人/家族と共有することを検討していただければ、私にとって非常に役立ちます. 共有は♥️

「C# における ArrayList と Array: 違いと比較」についての 25 件のフィードバック

  1. この比較は洞察に富んでいますが、この記事では ArrayList と Array のどちらを選択する場合の潜在的なトレードオフについては掘り下げられていないように感じます。

    返信
    • さまざまなデータ型の長所と短所を考慮することが常に重要であり、それがこの記事への貴重な追加となります。

      返信
  2. 有益な記事です!私はいつも配列と ArrayList の違いを理解するのに苦労していましたが、これで完全に明確になりました。

    返信
  3. 違いを理解することは重要ですが、配列ではなく ArrayList を使用する場合とその逆の場合を知ることも重要だと思います。コンテキストが鍵です。

    返信
  4. この記事では違いを強調するだけでなく、実際の例も提供されていることに感謝します。概念の理解が深まります。

    返信
  5. 記事内で実際の例が使用されているのは少し冗長だと思います。概念はそれらがなくてもすでに明らかです。

    返信
    • 私は敬意を表して反対します。概念は理解できるかもしれませんが、理解を助ける必要がある人にとって、例は非常に役立ちます。

      返信
  6. C# における ArrayList と Array の違いをわかりやすく解説しています。パフォーマンスと柔軟性を明確に比較できたことに感謝しています。

    返信
  7. 比較表により、ArrayList と Array の違いがわかりやすくなります。この形式は非常に効果的です!

    返信
  8. この記事で説明されている ArrayList と Array の両方の詳細な関数は非常に役立ちます。クイックリファレンスガイドのようなものです。

    返信
    • 確かに、必要な関数をすべて明確にレイアウトしておくと、ArrayList と Array を使用するときに時間を節約できます。

      返信
  9. ArrayList と C# の Array の徹底的な比較は素晴らしいですが、それぞれのより実用的な使用例を見てみたいと思っています。

    返信
    • 確かに、実際の例があれば、ArrayList と Array の最適なアプリケーションを理解しやすくなります。

      返信
    • 現実世界のシナリオは間違いなくこの記事の内容を豊かにし、さらに役立つものになると思います。

      返信
  10. 私は、パフォーマンスが向上するため、ArrayList よりも配列を優先することに同意しません。 ArrayList の柔軟性は、特定の状況では非常に貴重です。

    返信
    • 配列と ArrayList にはそれぞれ独自の長所と短所があると思います。各プログラミング タスクの特定の要件を考慮することが重要です。

      返信
    • あなたの言いたいことはわかりますが、配列の固定サイズの方が適切な場合もあります。すべては、仕事に適したツールを選択することです。

      返信

コメント

後で読むためにこの記事を保存しますか? 右下のハートをクリックして自分の記事ボックスに保存!