1) Первый, на мой взгляд самый кривой, создаётся третий массив на размер первого и второго, а затем в него через цикл For Next копируются байты из первых двух.
2) Второй - используется Api - CopyMemory. От первого примера отличается только отсутствием циклов.
Посмотрел на код... Первый пример отмёл сразу, задумался над вторым. Нужно объявлять Api, определять размерности массивов, проверять есть ли она вообще у них, а то вдруг массив ещё динамический и размер не установлен, потом смотреть границу начала у каждого... Уф.
А что если:
- Код: Выделить всё
Function JoinByteArrays(Array1() As Byte, Array2() As Byte) As Byte()
JoinByteArrays = MidB(Array1, 1) & MidB(Array2, 1)
End Function
В чём минусы такого варианта ? Скорость ? Излишнее копирование данных в памяти ? Не всегда сработает правильно ?
Заранее благодарю за комментарии