"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso otimizar a concatenação da matriz em C# para melhor desempenho?

Como posso otimizar a concatenação da matriz em C# para melhor desempenho?

Postado em 2025-03-04
Navegar:518

How Can I Optimize Array Concatenation in C# for Better Performance?

Busting C# Array Concatenation Performance: Uma alternativa superior a concat

c#'s Concat fornece uma solução simples para ingressar em matrizes. No entanto, seu desempenho pode ser abaixo do ideal ao lidar com grandes matrizes. Para uma eficiência significativamente aprimorada na concatenação da matriz, considere esta alternativa:

int[] x = new int[] { 1, 2, 3 };
int[] y = new int[] { 4, 5 };

int[] z = new int[x.Length   y.Length];
Array.Copy(x, z, x.Length);
Array.Copy(y, 0, z, x.Length, y.Length);

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

Este método aloca diretamente uma nova matriz z de tamanho suficiente para segurar os dois x e y . Em seguida, aproveita Array.copy para transferir com eficiência os elementos de x e y em z . Isso evita a criação de matrizes intermediárias, levando a uma execução mais rápida, especialmente com conjuntos de dados maiores.

consideração importante: while concat permanece adequado para matrizes menores onde o desempenho não é crítico, a abordagem acima oferece uma vantagem substancial de desempenho para cenários envolvendo grandes matrizes.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3