0

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

我敢肯定这对那些精通 C# 的人来说是显而易见的,但是在各种论坛中有很多类似的问题,我认为一个示例值得发布(对于那些像我一样还在学习 C# 的人)。关键点:

  1. 使用“双引号”表示string
  2. 使用“单引号”表示char
  3. \t在字符串中转换为制表符:"John\tSmith"
  4. '\t'本身就像一个 tab const

下面是一些代码,用于将制表符添加到 HTML 行的前面,并以换行符结束

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

您还可以使用:

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

这是在 C# 中复制选项卡的最有效方法吗?由于我还没有“流利”,我将不胜感激任何指针。

4

2 回答 2

1

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

您正在使用的字符串构造函数构造一个字符串,该字符串包含您指定为第一个参数重复count次数的字符,其中count是第二个参数。

于 2012-08-17T19:23:04.160 回答
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');
}
于 2012-08-17T19:23:57.687 回答