Создайте строку и добавьте текст к ней
Забавно, у меня было текстовое поле, и я мог добавлять к нему строки.
Но теперь я создаю такую строку:
Dim str As String = New String("")
И я хочу добавить к нему другие строки. Но для этого нет никакой функции. Что я делаю неправильно?
Ответы
Ответ 1
Конкатенация с оператором
Dim str as String 'no need to create a string instance
str = "Hello " & "World"
Вы также можете конкретизировать с оператором +, но вы можете столкнуться с проблемой при объединении чисел.
Конкатенация с String.Concat()
str = String.Concat("Hello ", "World")
Полезно при конкатенации массива строк
StringBuilder.Append()
При конкатенации больших количеств строк используйте StringBuilder, это приведет к значительно лучшей производительности.
Dim sb as new System.Text.StringBuilder()
str = sb.Append("Hello").Append(" ").Append("World").ToString()
Строки в .NET неизменяемы, в результате создается новый объект String для каждой конкатенации, а также сборщик мусора.
Ответ 2
Другой способ сделать это - добавить новые символы в строку следующим образом:
Dim str As String
str = ""
Чтобы добавить текст в строку таким образом:
str = str & "and this is more text"
Ответ 3
Используйте оператор конкатенации строк:
Dim str As String = New String("") & "some other string"
Строки в .NET неизменяемы и, следовательно, не существует понятия добавляемых строк. Все модификации строк приводят к созданию и возврату новой строки.
Это, очевидно, вызывает ужасную работу. В обычном повседневном коде это не проблема, но если вы делаете интенсивные строковые операции, в которые время имеет смысл, вам будет полезно изучить класс StringBuilder. Это позволяет добавлять очереди в очередь. После того, как вы закончите добавление, вы можете попросить его выполнить все операции в очереди.
Для получения дополнительной информации об обоих методах см. "Как сгруппировать несколько строк" .