在 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中文网其他相关文章!