在 C# 中生成 \t
字符串的最佳方法是什么
我正在学习 C# 并尝试用不同的方式来表达同一件事。
Tabs(uint t)
是一个返回 string
的函数,其 t
数量为 \t
'
例如 Tabs(3)
返回 "\t\t\t"
这三种实现 Tabs(uint numTabs)
的方法中哪一种最好?
当然,这取决于“最佳”的含义。
LINQ 版本只有两行,这很好。但是调用 Repeat 和 Aggregate 是否会不必要地消耗时间/资源?
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;
}
最佳答案
这个怎么样:
string tabs = new string('\t', n);
其中 n
是您要重复字符串的次数。
或者更好:
static string Tabs(int n)
{
return new string('\t', n);
}
关于c# - 在 C# 中重复一个字符的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/411752/