Cách tốt nhất để tạo một chuỗi \t
trong C # là gì
Tôi đang học C # và thử nghiệm nhiều cách khác nhau để nói cùng một điều.
Tabs(uint t)
là một hàm trả về một string
với t
số lượng \t
's
Ví dụ Tabs(3)
trả về"\t\t\t"
Cách nào trong ba cách thực hiện Tabs(uint numTabs)
này là tốt nhất?
Tất nhiên điều đó phụ thuộc vào "tốt nhất" nghĩa là gì.
Phiên bản LINQ chỉ có hai dòng, rất hay. Nhưng các cuộc gọi để Lặp lại và Tổng hợp tiêu tốn thời gian / tài nguyên không cần thiết?
Các
StringBuilder
phiên bản là rất rõ ràng nhưng làStringBuilder
lớp bằng cách nào đó chậm hơn?Các
string
phiên bản cơ bản, có nghĩa là nó là dễ hiểu.Nó không quan trọng chút nào? Có phải tất cả đều bình đẳng?
Đây là tất cả các câu hỏi để giúp tôi cảm nhận tốt hơn về C #.
private string Tabs(uint numTabs)
{
IEnumerable<string> tabs = Enumerable.Repeat("\t", (int) numTabs);
return (numTabs > 0) ? tabs.Aggregate((sum, next) => sum + next) : "";
}
private string Tabs(uint numTabs)
{
StringBuilder sb = new StringBuilder();
for (uint i = 0; i < numTabs; i++)
sb.Append("\t");
return sb.ToString();
}
private string Tabs(uint numTabs)
{
string output = "";
for (uint i = 0; i < numTabs; i++)
{
output += '\t';
}
return output;
}