повышение C# Array Concatenation Performance: Высшая альтернатива concat
] C#'S concat
метод предоставляет простое решение для массивов соединения. Тем не менее, его производительность может быть неоптимальной при работе с большими массивами. Для значительного повышения эффективности в массиве конкатенации, рассмотрите эту альтернативу:
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 }));
]
этот метод напрямую выделяет новый массив z
достаточного размера, чтобы удерживать оба x
и y
. Затем он использует array.copy
для эффективной передачи элементов x
и y
в z
. Это позволяет избежать создания промежуточных массивов, что приводит к более быстрому выполнению, особенно с более крупными наборами данных.
Важное рассмотрение: while concat
остается подходящим для небольших массивов, где производительность не критична, подход выше предлагает существенное преимущество производительности для сценариев, связанных с большими массивами.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3