首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C#中重复一个字符的最佳方法?

在C#中重复一个字符的最佳方法?

提问于 2017-12-15 15:50:29
回答 2关注 0查看 288

我正在学习C#并尝试用不同的方式来表达同样的事情。

Tabs(uint t)是返回的功能string与t的量\t的

例如Tabs(3)返回"\t\t\t"

这三种方法中的哪Tabs(uint numTabs)一种最好?

当然,这取决于“最好”的含义。

LINQ版本只有两行,这很好。但是呼叫重复和聚合不必要的时间/资源消耗?

该StringBuilder版本是很清楚的,但是是StringBuilder类莫名其妙慢?

该string版本是基本的,这意味着很容易理解。

这根本不重要吗?他们都是平等的吗?

这些都是帮助我更好地感受C#的问题。

代码语言:txt
复制
private string Tabs(uint numTabs)
代码语言:txt
复制
{
代码语言:txt
复制
    IEnumerable<string> tabs = Enumerable.Repeat("\t", (int) numTabs);
代码语言:txt
复制
    return (numTabs > 0) ? tabs.Aggregate((sum, next) => sum + next) : ""; 
代码语言:txt
复制
}  
代码语言:txt
复制
代码语言:txt
复制
private string Tabs(uint numTabs)
代码语言:txt
复制
{
代码语言:txt
复制
    StringBuilder sb = new StringBuilder();
代码语言:txt
复制
    for (uint i = 0; i < numTabs; i++)
代码语言:txt
复制
        sb.Append("\t");
代码语言:txt
复制
代码语言:txt
复制
    return sb.ToString();
代码语言:txt
复制
}  
代码语言:txt
复制
代码语言:txt
复制
private string Tabs(uint numTabs)
代码语言:txt
复制
{
代码语言:txt
复制
    string output = "";
代码语言:txt
复制
    for (uint i = 0; i < numTabs; i++)
代码语言:txt
复制
    {
代码语言:txt
复制
        output += '\t';
代码语言:txt
复制
    }
代码语言:txt
复制
    return output; 
代码语言:txt
复制
}

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档