首頁 > 後端開發 > 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>
登入後複製

這消除了手動調整數組大小的需要並簡化了元素添加。

方法一: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.ResizeArray.Copy 是合適的選擇。 LINQ 的 Concat 提供了乾淨的語法,但對於非常大的陣列可能會有輕微的效能損失。

以上是如何在 C# 中高效地向字串數組添加新元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板