Bence string.Format()
sonucun tam olarak ne olacağını görmek daha kolay (bu yüzden unutulmuş alanlarla veya bunun gibi bir şeyle ilgili sorunlarınız yok) ve ayrıca yazmak ve değiştirmek daha kolay.
Çok basit biçimlendirme yapmak istiyorsanız, +
artı operatörünü kullanmak daha kolay olabilir, ancak daha fazla değil, sadece iki dizeyi birleştirirken kullanma eğilimindeyim.
Nasıl string.Format()
değiştirmenin daha kolay olduğunu göstermek için, örneğinizdeki cümlenin sonuna tam bir durak eklemek istediğinizi düşünün: - dan string.Format("The int is {0}", i)
gitmek string.Format("The int is {0}.", i)
sadece bir karakterdir. Ama giden "the int is " + i
için "the int is " + i + '.'
çok daha fazla.
Bir başka avantajı da string.Format()
, kullanılacak biçimi kolayca belirtmenize izin vermesidir string.Format("The int is 0x{0:X}.", i)
. Tarih biçimlendirilirken bu daha da önemlidir.
Verimlilik gelince string.Format()
, basit dize birleştirme işlemleri muhtemelen daha yavaştır. Ancak böyle bir kod büyük olasılıkla sıcak bir yolda değildir, bu yüzden önemli değil. Ve eğer öyleyse, muhtemelen kullanmaktan daha iyidir StringBuilder
.