ホームページ >バックエンド開発 >C++ >C# で配列のサイズを動的に変更するには Array.Resize() またはリストを使用する必要がありますか?

C# で配列のサイズを動的に変更するには Array.Resize() またはリストを使用する必要がありますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-29 02:18:14558ブラウズ

Should I Use Array.Resize() or Lists for Dynamically Resizing Arrays in C#?

配列の動的サイズ変更: Array.Resize() とリスト

プログラミングにおいて、配列は固定サイズのデータ​​構造であり、そのサイズを意味します。宣言後の変更はできません。ただし、配列のサイズが事前に不明であり、動的に調整する必要がある場合があります。ここで、C# で配列のサイズを変更することは可能ですか?

という疑問が生じます。答えは「はい」でもあり、「いいえ」でもあります。 C# には Array.Resize() メソッドが用意されていますが、Array.Resize() は技術的には元の配列のサイズを変更しないことに注意することが重要です。代わりに、指定されたサイズで新しい配列を作成し、古い配列の要素を新しい配列にコピーします。元の配列参照は、新しい配列への参照に置き換えられます。

例:

int[] array1 = new int[10];
int[] array2 = array1;
Array.Resize<int>(ref array1, 20);

// Now:
// array1.Length is 20
// array2.Length is 10
// Two different arrays.

この例では、Array.Resize() を呼び出した後、 array1 は長さ 20 の新しい配列を参照しますが、array2 は依然として長さ 10 の元の配列を指します。これは、2 つの配列が独立しており、任意の配列であることを意味します。一方に加えられた変更は他方には影響しません。

代替: リストの使用

動的サイズ変更が頻繁に必要な場合は、配列の代わりにリストを使用することをお勧めします。リストは、必要に応じてサイズを自動的に調整できる動的なデータ構造です。配列とは異なり、リストは要素を追加または削除することで簡単に拡大または縮小できます。

例:

List<int> list = new List<int>();
list.Add(1);
list.Add(2);

// Get the current size of the list
int size = list.Count;

リストを使用した動的サイズ変更は、リストを使用した動的サイズ変更の方がはるかに便利で効率的です。 Array.Resize() を使用します。ただし、配列には、特定の操作のパフォーマンスが向上したり、インデックスを使用して要素に直接アクセスできるなど、独自の利点があります。配列とリストのどちらを選択するかは、アプリケーションの特定の要件によって異なります。

以上がC# で配列のサイズを動的に変更するには Array.Resize() またはリストを使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。