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 サイトの他の関連記事を参照してください。