\t
在C#中生成字符串s 的最佳方法是什么
我正在学习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;
}