นี่เป็นวิธีที่ดีที่สุดในการสร้างสตริงของ\t
ใน C #
ฉันกำลังเรียนรู้ C # และทดลองใช้วิธีต่าง ๆ ในการพูดสิ่งเดียวกัน
Tabs(uint t)
เป็นฟังก์ชั่นที่ส่งกลับstring
กับt
ปริมาณของ\t
's
ตัวอย่างเช่นTabs(3)
ผลตอบแทน"\t\t\t"
วิธีการดำเนินการสามแบบTabs(uint numTabs)
ใดที่ดีที่สุด
แน่นอนขึ้นอยู่กับความหมายของ "ดีที่สุด"
เวอร์ชัน LINQ เป็นเพียงสองบรรทัดซึ่งดีมาก แต่การเรียกซ้ำและการรวมใช้เวลา / ทรัพยากรโดยไม่จำเป็น
StringBuilder
รุ่นมีความชัดเจนมาก แต่เป็นStringBuilder
ระดับใดช้าลง?string
รุ่นพื้นฐานซึ่งหมายความว่ามันเป็นเรื่องง่ายที่จะเข้าใจมันไม่สำคัญเลยเหรอ? พวกเขาเท่ากันทั้งหมดหรือไม่
นี่คือคำถามทั้งหมดที่ช่วยให้ฉันรู้สึกดีขึ้นสำหรับ 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;
}