在C#中复制制表符

时间:2012-08-17 19:16:58

标签: c# char replicate

在MSDN上搜索网页并阅读文档后,我找不到任何示例如何在C#中复制制表符。当我终于想出来的时候,我打算在这里发一个问题......

我确信那些熟练使用C#的人很明显,但在各种论坛上都有很多类似的问题,我认为示例值得发帖(对于那些仍然像我一样学习C#的人) 。要点:

  1. string
  2. 使用“双引号”
  3. char
  4. 使用'单引号' 字符串中的
  5. \t会转换为标签:"John\tSmith"
  6. '\t'本身就像一个标签 const
  7. 以下是将标签添加到HTML行前面的一些代码,并以换行符结束:

    public static string FormatHTMLLine(int Indent, string Value)
    {
      return new string('\t', Indent) + Value + "\n";
    }
    

    你也可以使用:

    string s = new string('\t', Indent);
    

    这是在C#中复制标签的最有效方法吗?由于我还没有“流利”,我会很感激任何指针。

2 个答案:

答案 0 :(得分:1)

是的,我认为这是最好的方式。

string constructor you are using构造一个字符串,其中包含您指定的字符作为重复count次的第一个参数,其中count是第二个参数。

答案 1 :(得分:1)

1)你应该缓存并重用调用new string('\ t',Indent)的结果。 2)尽量不要从FormatHTMLLine生成新的字符串。例如,您可以考虑将它们写入输出流。

void IndentWrite(int indent, string value)
{
    if (indent > 0)
    {
       if (s_TabArray == null)
       {
         s_TabArray = new char[MaxIndent];

         for (int i=0; i<MaxIndent; i++) s_TabArray[i]='\t';
       }

       m_writer.Write(s_TabArray, 0, indent);
    }

    m_writer.Write(value);
    m_writer.Write('\n');
}