在 C# 中向字串陣列新增新元素
在 C# 中有效擴展字串陣列需要仔細考慮可用的方法。 有幾種方法,每種方法都有自己的優點和缺點。
列表
對於需要動態調整大小的情況,List<string>
提供了最直接的解決方案:
<code class="language-csharp">List<string> stringList = new List<string>(); stringList.Add("Hello");</code>
這消除了手動調整數組大小的需要並簡化了元素添加。
方法一: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中文網其他相關文章!