Saya pikir dengan string.Format()
itu lebih mudah untuk melihat apa sebenarnya hasilnya (sehingga Anda tidak memiliki masalah dengan ruang yang terlupakan atau sesuatu seperti itu), dan juga lebih mudah untuk mengetik dan memodifikasi.
Jika Anda ingin melakukan pemformatan yang sangat sederhana, menggunakan +
operator plus mungkin lebih mudah, tetapi saya cenderung menggunakannya hanya saat menggabungkan dua string, tidak lebih.
Untuk menunjukkan bagaimana string.Format()
lebih mudah untuk memodifikasi, pertimbangkan bahwa Anda ingin menambahkan penghentian penuh pada akhir kalimat dalam contoh Anda: beralih dari string.Format("The int is {0}", i)
menjadi string.Format("The int is {0}.", i)
hanya satu karakter. Tetapi pergi dari "the int is " + i
ke "the int is " + i + '.'
jauh lebih banyak.
Keuntungan lain string.Format()
adalah memungkinkan Anda untuk dengan mudah menentukan format yang akan digunakan, seperti string.Format("The int is 0x{0:X}.", i)
. Ini bahkan lebih penting ketika memformat tanggal.
Adapun efisiensi, string.Format()
kemungkinan besar lebih lambat dari penggabungan string sederhana. Tetapi kode seperti ini kemungkinan besar tidak berada di jalur panas, jadi tidak masalah. Dan jika ya, Anda mungkin lebih baik menggunakan StringBuilder
.