ホームページ > バックエンド開発 > C++ > C# で文字列配列に新しい要素を効率的に追加するにはどうすればよいですか?

C# で文字列配列に新しい要素を効率的に追加するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-12 09:13:43
オリジナル
624 人が閲覧しました

How Can I Efficiently Add New Elements to a String Array in C#?

C# で文字列配列に新しい要素を追加する

C# で文字列配列を効率的に展開するには、使用可能なメソッドを慎重に検討する必要があります。 いくつかのアプローチが存在し、それぞれに独自の長所と短所があります。

リスト ソリューション

動的なサイズ変更が必要な状況では、List<string> が最も簡単な解決策を提供します。

<code class="language-csharp">List<string> stringList = new List<string>();
stringList.Add("Hello");</code>
ログイン後にコピー

これにより、手動で配列のサイズを変更する必要がなくなり、要素の追加が簡素化されます。

方法 1: Array.Resize

Array.Resize は、元の配列をその場で変更し、新しい要素を収容できるようにサイズを増やします。

<code class="language-csharp">string[] arr = { "Apple", "Banana" };
Array.Resize(ref arr, arr.Length + 1);
arr[arr.Length - 1] = "Orange";</code>
ログイン後にコピー

このアプローチは、追加頻度が低い場合には効率的ですが、変更が頻繁に行われる場合にはパフォーマンスが低下する可能性があります。

方法 2: Array.Copy

このメソッドは、新しい大きな配列を作成し、既存の要素をコピーして、新しい項目を追加します。

<code class="language-csharp">string[] arr = { "Apple", "Banana" };
string[] newArr = new string[arr.Length + 1];
Array.Copy(arr, newArr, arr.Length);
newArr[newArr.Length - 1] = "Orange";</code>
ログイン後にコピー

新しい配列を作成するとオーバーヘッドが発生しますが、サイズ変更の繰り返しに伴う潜在的なパフォーマンスの問題を回避できます。

方法 3: LINQ の Concat

LINQ は、Concat:

を使用して要素を追加する簡潔な方法を提供します。
<code class="language-csharp">string[] arr = { "Apple", "Banana" };
string[] newArr = arr.Concat(new[] { "Orange" }).ToArray();</code>
ログイン後にコピー

これは洗練されていますが、LINQ 操作のオーバーヘッドのため、非常に大きな配列の場合は Array.Copy よりも若干効率が劣る可能性があります。

最適なアプローチの選択

最適な方法は、特定のニーズによって異なります。 List<string> は、頻繁に追加と削除が行われる動的配列に最適です。変更が頻繁にない静的配列の場合は、Array.Resize または Array.Copy が適切な選択肢です。 LINQ の Concat はクリーンな構文を提供しますが、非常に大きな配列の場合はパフォーマンスが若干低下する可能性があります。

以上がC# で文字列配列に新しい要素を効率的に追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート