Apa itu cara terbaik untuk menghasilkan string \t
's di C #
Saya belajar C # dan bereksperimen dengan berbagai cara untuk mengatakan hal yang sama.
Tabs(uint t)
adalah fungsi yang mengembalikan sebuah string
dengan t
jumlah \t
's
Misalnya Tabs(3)
pengembalian"\t\t\t"
Manakah dari tiga cara penerapan Tabs(uint numTabs)
ini yang terbaik?
Tentu saja itu tergantung pada apa artinya "terbaik".
Versi LINQ hanya dua baris, yang bagus. Tetapi apakah panggilan untuk Berulang dan Agregat yang tidak perlu menghabiskan waktu / sumber daya?
The
StringBuilder
Versi ini sangat jelas, tetapi adalahStringBuilder
kelas entah bagaimana lebih lambat?The
string
versi dasar, yang berarti mudah dimengerti.Tidak masalah sama sekali? Apakah mereka semua sama?
Ini semua pertanyaan untuk membantu saya merasakan C # yang lebih baik.
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;
}