\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; }
3 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
那这个呢:
string tabs = new String('\t', n);
哪里n是您要重复字符串的次数。
或更好:
static string Tabs(int n)
{
return new String('\t', n);
}
繁星淼淼
TA贡献1775条经验 获得超11个赞
string.Concat(Enumerable.Repeat("ab", 2));
退货
“阿巴布”
和
string.Concat(Enumerable.Repeat("a", 2));
退货
“ aa”
从...
慕的地6264312
TA贡献1817条经验 获得超6个赞
在.NET的所有版本中,您可以这样重复一个字符串:
public static string Repeat(string value, int count)
{
return new StringBuilder(value.Length * count).Insert(0, value, count).ToString();
}
重覆角色new String('\t', count)是您的最佳选择。
- 3 回答
- 0 关注
- 1235 浏览
添加回答
举报
0/150
提交
取消