什么是在C#中生成一串字符串的最好方法?
我正在学习C#并尝试用不同的方式来表达同样的事情。
Tabs(uint t)是返回的功能string与t的量\t的
例如Tabs(3)返回"\t\t\t"
这三种方法中的哪Tabs(uint numTabs)一种最好?
当然,这取决于“最好”的含义。
LINQ版本只有两行,这很好。但是呼叫重复和聚合不必要的时间/资源消耗?
该StringBuilder版本是很清楚的,但是是StringBuilder类莫名其妙慢?
该string版本是基本的,这意味着很容易理解。
这根本不重要吗?他们都是一样的吗?
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;
}
相似问题