Конкатенация строк формат строки VS

  1. Делают часть покрытия кода обзоров.
  2. Делают "запись тестом, который представляет ошибку" предпосылка исправлению ошибки.
  3. Требуют определенного уровня покрытия, прежде чем в коде можно будет зарегистрироваться.
  4. Находят хорошую книгу по разработке через тестирование и используют его, чтобы показать, как тест сначала может ускорить разработку.
13
задан George Stocker 9 September 2009 в 15:52
поделиться

4 ответа

Зависит от ваших критериев "лучший". Если все, что вы делаете, это объединяете две строки, я бы использовал оператор +. Очевидно, что вы пытаетесь сделать, и легко читается, и это немного быстрее, потому что не обязательно использовать варианты. (Вы смотрели, что на самом деле делает формат под капотом? Это немного пугает!)

Основное преимущество формата заключается в том, что он позволяет создавать одну строку и сохранять ее где-нибудь, например, в текстовом файле или строке ресурса , а другие параметры соберут позже. Это делает его полезным для более сложных задач. Но если все, что вам нужно сделать, это склеить две струны вместе, это своего рода перебор, IMO.

11
ответ дан 1 December 2019 в 21:12
поделиться

Вот третий вариант:

s:=Concat(V1,V2);
5
ответ дан 1 December 2019 в 21:12
поделиться

Я использую:

s := v1 + ' ' + v2;

Это самый ясный и простой для понимания.

Это самый важный.

Вы можете найти конструкцию, которая немного более эффективна, например, используя TStringBuilder в Delphi 2009. Если эффективность имеет первостепенное значение, тогда делайте то, что необходимо в двух-трех наиболее критических строках. В других местах используйте ясный и легкий для понимания код и конструкции.

1
ответ дан 1 December 2019 в 21:12
поделиться

Формат работает с интернационализацией, что позволяет локализовать ваше приложение. Конкатенации нет. Следовательно, я предпочитаю формат для любого дисплея, который, возможно, придется создавать с учетом культуры.

Обновление: формат работает для интернационализации, потому что не все языки выражают все в одном порядке. Надуманный пример:

resourcestring
    sentence = ' is ';

var
    subject = 'Craig';
    adjective = 'helpful';
begin
   WriteLn(subject + sentence + adjective + '!');

Это работает, и я могу настроить его с помощью строки ресурса, но по-испански я бы написал: «¡Qué servicial es Craig!» Ресурсная строка мне не помогает. Вместо этого я должен написать:

resourcestring
    sentence = '%S is %S!'; // ES: '¡Qué %1:S es %0:S!'
10
ответ дан 1 December 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: