Я думаю, що з string.Format()
цим простіше зрозуміти, який саме результат буде (тому у вас немає проблем із забутими просторами чи чимось подібним), а також простіше вводити та змінювати.
Якщо ви хочете зробити дуже просте форматування, використовувати +
оператор плюс може бути простіше, але я схильний використовувати його лише для об'єднання двох рядків, не більше.
Щоб показати, як string.Format()
простіше змінити, врахуйте, що ви хотіли додати повну зупинку в кінці речення у своєму прикладі: перехід від string.Format("The int is {0}", i)
до string.Format("The int is {0}.", i)
- це лише один символ. Але перехід від "the int is " + i
до "the int is " + i + '.'
набагато більше.
Ще однією перевагою string.Format()
є те, що вона дозволяє легко вказати формат, який потрібно використовувати, наприклад string.Format("The int is 0x{0:X}.", i)
. Це ще важливіше при форматуванні дати.
Що стосується ефективності, string.Format()
то, швидше за все, повільніше, ніж прості об'єднання рядків. Але такий код, швидше за все, не на гарячому шляху, тому це не має значення. І якщо це станеться, вам, ймовірно, краще користуватися StringBuilder
.