C#转义字符

时间:2011-08-25 18:25:04

标签: c# c#-4.0

e.g。

for (int i = 0; i < speaker.Length; i++) {
    s.WriteLine(speakerAmt[i] + \t + speakerID[i]);
}

我正在尝试在speakerAmt [i]和speakerID [i]之间添加制表符。 转义字符是否需要在“”“”(引号)?

编辑:谢谢!在不到50秒的时间里,我得到了大约5个答案。我印象深刻!

10 个答案:

答案 0 :(得分:10)

这样做:

for (int i = 0; i < speaker.Length; i++)
{
    s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);
}

最好按照

进行操作
for (int i = 0; i < speaker.Length; i++)
{
    s.WriteLine(string.Format("{0}\t{1}",speakerAmt[i],speakerID[i]);
}

答案 1 :(得分:4)

转义字符是字符,因此它们必须使用单引号'\t'。或者你可以用一个转义字符构造一个字符串,使其成为"\t"。没有任何引号\t是非法的。

答案 2 :(得分:3)

for (int i = 0; i < speaker.Length; i++)
{
    s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);
}

答案 3 :(得分:3)

是的,报价是必要的。

s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);

为什么有必要:

因为这是一个转义序列,它是字符串的一部分。 \t是。像:

var hi = "Hello\tWorld";

当在字符串的上下文中使用时,编译器会以特殊方式解释它。字符串中的\字符通常表示转义序列的开头(例外:字符串文字)。这是另一个使用不同方式使用选项卡的示例:

var hi = "Hello\u0009World";

您可以在documentation中阅读有关字符串,文字和转义序列的更多信息。

答案 4 :(得分:3)

是的,他们

string str = "Hello\tWorld!\n";

答案 5 :(得分:3)

是的 - 你需要这样做:

 s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);

答案 6 :(得分:3)

是的,他们需要在字符串中

for (int i = 0; i < speaker.Length; i++)
{
   s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);
}

答案 7 :(得分:2)

是的,您应该使用s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);C# escape characters

答案 8 :(得分:1)

烨!

for (int i = 0; i < speaker.Length; i++)
{
   s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);
}

答案 9 :(得分:0)

自C#6以来,做得更好:

for (int i = 0; i < speaker.Length; i++)
{
    s.WriteLine($"{speakerAmt[i]}\t{speakerID[i]}");
}

Interpolated Strings