最佳答案
在C#中生成\t
字符串的最佳方法是什么
我正在学习C#并尝试用不同的方式说同样的事情。
Tabs(uint t)
是一个返回string
的函数,其中t
的数量为\t
例如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;}