小编典典

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

all

\t在 C#中生成字符串的最佳方法是什么

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

Tabs(uint t)是一个函数,它返回一个string数量t\t‘s

例如Tabs(3)退货"\t\t\t"

这三种实施方式中哪Tabs(uint numTabs)一种最好?

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

  1. LINQ 版本只有两行,这很好。但是对重复和聚合的调用是否会不必要地消耗时间/资源?

  2. StringBuilder版本很清楚,但是课程是否有点StringBuilder慢?

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

  4. 一点都不重要吗?他们都是平等的吗?

这些都是帮助我更好地了解 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; 
}

阅读 360

收藏
2022-02-28

共1个答案

小编典典

那这个呢:

string tabs = new string('\t', n);

n你想重复字符串的次数在哪里。

或更好:

static string Tabs(int n)
{
    return new string('\t', n);
}
2022-02-28