Tôi nghĩ với string.Format()
việc dễ dàng hơn để xem chính xác kết quả sẽ như thế nào (vì vậy bạn không gặp vấn đề với không gian bị lãng quên hoặc điều gì đó tương tự), và cũng dễ dàng hơn để nhập và sửa đổi.
Nếu bạn muốn thực hiện định dạng rất đơn giản, sử dụng +
toán tử cộng có thể dễ dàng hơn, nhưng tôi có xu hướng chỉ sử dụng nó khi nối hai chuỗi, không nhiều hơn.
Để chỉ ra cách string.Format()
dễ dàng sửa đổi hơn, hãy xem xét rằng bạn muốn thêm một điểm dừng hoàn toàn vào cuối câu trong ví dụ của bạn: đi từ string.Format("The int is {0}", i)
đến string.Format("The int is {0}.", i)
chỉ là một ký tự. Nhưng đi từ "the int is " + i
đến "the int is " + i + '.'
là nhiều hơn nữa.
Một ưu điểm khác string.Format()
là nó cho phép bạn dễ dàng chỉ định định dạng để sử dụng, như thế nào string.Format("The int is 0x{0:X}.", i)
. Điều này thậm chí còn quan trọng hơn khi định dạng ngày.
Đối với hiệu quả, string.Format()
rất có thể là chậm hơn mà nối chuỗi đơn giản. Nhưng mã như thế này rất có thể không phải là một con đường nóng, vì vậy nó không thành vấn đề. Và nếu có, có lẽ bạn nên sử dụng StringBuilder
.