У меня есть массив строк (от A до E), в который я хочу присоединиться к одной строке («A B C D E»). Должен ли я проходить через массив или использовать функцию Join?Создание строки из массива строк. Самый быстрый метод?
Dim MyArray(5) as String
Dim MyString as String
MyArray(1) = "A"
MyArray(2) = "B"
MyArray(3) = "C"
MyArray(4) = "D"
MyArray(5) = "E"
Какая скорость лучше и удобнее?
Это?
MyString = MyArray(1)
For i = 2 To 5
MyString = MyString & " " & MyArray(i)
Next
Или это?
MyString = Join(MyArray, " ")
Я предполагаю присоединиться будет быстрее, так как он реализован в родном коде, пока вы растете строку на каждой итерации с для цикла и вызвать дважды оператор конкатенации., Возможно получение системного времени до и после (с более крупный массив) может дать некоторую подсказку, по которой лучше. – Tensibai
Я бы посоветовал использовать решение, более читаемое вам лично. Для меня это будет Join, потому что это намного проще концептуально, и позволяет избежать ошибок «один за другим» и других возможных тонких ошибок. Почему вы считаете, что выполнение этого конкретного кода более важно для вашего приложения по сравнению с тем, что делает ваше приложение? – mellamokb
При построении строки никогда не конкатенируйте длинную строку с двумя короткими строками (заставляя длинную строку копировать дважды). Так что вместо 'MyString = MyString &" "& MyArray (i)' use 'MyString = MyString & (" "& MyArray (i))' – brettdj