Ответ: это зависит. Там будет окажет влияние на производительность, если вы выполняете большое количество операций с большим количеством пробелов по сравнению с не-пробельным эквивалентом. Вот тест тест:
Dim t1 = Task.Run(New Func(Of TimeSpan)(
Function()
Dim start = Now
Dim sb As New System.Text.StringBuilder
For i = 1 To 5000000
sb.AppendLine(" My Value")
Next
sb.ToString()
Return Now - start
End Function))
Dim t2 = Task.Run(New Func(Of TimeSpan)(
Function()
Dim start = Now
Dim sb As New System.Text.StringBuilder
For i = 1 To 5000000
sb.AppendLine("My Value")
Next
sb.ToString()
Return Now - start
End Function))
Debug.Print(String.Format("With Whitespace (ms): " & t1.Result.Milliseconds))
Debug.Print(String.Format("Without Whitespace (ms): " & t2.Result.Milliseconds))
Это крайний пример, в котором каждая строка имеет много дополнительных пробелов по сравнению с непробельных, и он строит пять миллионов строк. В этом примере, выход:
С Whitespace (мс): 757
без пробелов (мс): 371
Однако, если уменьшить количество линий, построенный наполовину и уменьшить количество дополнительных пробелов в строке наполовину, выход становится:
с Whitespace (мс): 223
без пробелов (мс): 175
, а затем уменьшить количество строк и пробелы снова наполовину снова (т.е. Сейчас четверть оригинала):
С Whitespace (мс): 87
без пробелов (мс): 66
Итак, суть в том, что это правда, это будет иметь но это зависит от того, как вы его используете, и в конце концов это всего лишь разница в несколько сотен миллисекунд в крайних случаях. В конечном счете, вам решать (и ваши сверстники) определить, что важно в каждой ситуации: читаемость для программиста или отзывчивость для пользователя.
Короткий ответ нет. Поскольку это просто рассматривается как другой персонаж. Однако ... это увеличит длину и, следовательно, размер памяти, выделенной для Stringbuilder. Это то, что нужно помнить – geekonedge
Я продолжаю длинный ответ: P Увеличение размера памяти, выделенной для String Builder, будет поэтому влиять на производительность нет? – jessikwa
Вы уже добавляете лишние пробелы, используя 'AppendLine' вместо' Append';) –