\t在 C#中生成字符串的最佳方法是什么
\t
我正在学习 C# 并尝试用不同的方式来表达同一件事。
Tabs(uint t)是一个函数,它返回一个string数量t为\t‘s
Tabs(uint t)
string
t
例如Tabs(3)退货"\t\t\t"
Tabs(3)
"\t\t\t"
这三种实施方式中哪Tabs(uint numTabs)一种最好?
Tabs(uint numTabs)
当然,这取决于“最佳”的含义。
LINQ 版本只有两行,这很好。但是对重复和聚合的调用是否会不必要地消耗时间/资源?
StringBuilder版本很清楚,但是课程是否有点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你想重复字符串的次数在哪里。
n
或更好:
static string Tabs(int n) { return new string('\t', n); }