首页 >后端开发 >C++ >如何在 C# 中高效地连接数组?

如何在 C# 中高效地连接数组?

Linda Hamilton
Linda Hamilton原创
2025-01-17 06:47:10179浏览

How Can I Efficiently Concatenate Arrays in C#?

优化 C# 中的数组串联

在 C# 中组合数组是一项常见任务。 Concat 方法提供了一个简单的解决方案:

<code class="language-csharp">int[] x = { 1, 2, 3 };
int[] y = { 4, 5 };
int[] z = x.Concat(y).ToArray();

Debug.Assert(z.SequenceEqual(new int[] { 1, 2, 3, 4, 5 }));</code>

但是,随着数组的增大,Concat 的性能会明显下降(如“C# 中的数组串联”中所述,超过 10,000 个元素时性能会显着下降)。

更高性能的替代方案

为了提高效率,特别是对于大量阵列,手动方法提供了显着的优势。 这涉及创建一个正确大小的新数组并直接复制元素:

<code class="language-csharp">var z = new int[x.Length + y.Length];
x.CopyTo(z, 0);
y.CopyTo(z, x.Length);</code>

此方法避免了 Concat 固有的开销,从而实现更快的串联,特别是对于大型数据集。 虽然稍微冗长一些,但性能的提升使其成为大规模数组操作的首选。

以上是如何在 C# 中高效地连接数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn