Tôi có một tuyên bố nơi một chuỗi được gán theo cách sau đây:Ghép nối chuỗi có hoặc không có. ToString()?
for (int i = 0; i < x; i++)
{
Foo.MyStringProperty = "Bar_" + i.ToString();
/* ... */
}
Có bất kỳ sự khác biệt về hiệu năng giữa i.ToString()
hoặc chỉ đơn giản i
, vì cả hai chỉ là chuyển đổi sang (văn hóa bất biến?) Chuỗi tương đương?
Tôi biết rõ về sự tồn tại của String.Concat()
, String.Format
, StringBuilder
, v.v., vì lợi ích của trường hợp này, giả sử tôi chỉ có thể sử dụng kết nối +
.
Xin cảm ơn trước.
bạn không thể thực hiện một thử nghiệm? Hãy để nó lặp lại 10.000 lần, đo thời gian và bạn biết câu trả lời. – Natrium
Caveat: 'ToString()' sử dụng văn hóa hiện tại. Nếu bạn muốn chuyển đổi độc lập với văn hóa, bạn sẽ phải sử dụng 'ToString (CultureInfo.InvariantCulture)' (Điều này quan trọng hơn khi xử lý các số dấu phẩy động so với số nguyên). –