在MSDN上搜索网页并阅读文档后,我找不到任何示例如何在C#中复制制表符。当我终于想出来的时候,我打算在这里发一个问题......
我确信那些熟练使用C#的人很明显,但在各种论坛上都有很多类似的问题,我认为示例值得发帖(对于那些仍然像我一样学习C#的人) 。要点:
string
char
\t
会转换为标签:"John\tSmith"
'\t'
本身就像一个标签 const 以下是将标签添加到HTML行前面的一些代码,并以换行符结束:
public static string FormatHTMLLine(int Indent, string Value)
{
return new string('\t', Indent) + Value + "\n";
}
你也可以使用:
string s = new string('\t', Indent);
这是在C#中复制标签的最有效方法吗?由于我还没有“流利”,我会很感激任何指针。
答案 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');
}