Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#转义字符_C#_C# 4.0 - Fatal编程技术网

C#转义字符

C#转义字符,c#,c#-4.0,C#,C# 4.0,e、 g for(int i=0;i

e、 g

for(int i=0;i
我试图在speakerAmt[I]和speakerID[I]之间找到一个制表符。 转义字符是否需要在“(引号)中

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

for(int i=0;ifor (int i = 0; i < speaker.Length; i++) {
    s.WriteLine(speakerAmt[i] + \t + speakerID[i]);
}
{ s、 WriteLine(speakerAmt[i]+“\t”+speakerID[i]); }
是的,引用是必要的

for (int i = 0; i < speaker.Length; i++)
{
    s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);
}
为什么有必要:

因为这是一个转义序列,它是字符串的一部分<代码>\t
为。比如:

s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);
当在字符串上下文中使用时,编译器只是以一种特殊的方式对其进行解释。字符串中的
\
字符通常表示转义序列的开头(例外:字符串文本)。下面是另一个使用不同方式的选项卡的示例:

var hi = "Hello\tWorld";
您可以阅读有关字符串、文字和转义序列的更多信息,作为的一部分。

是的,它们可以

var hi = "Hello\u0009World";
这样做:

string str = "Hello\tWorld!\n";
for(int i=0;i
最好是跟着做

for (int i = 0; i < speaker.Length; i++)
{
    s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);
}
for(int i=0;i
是-您需要执行以下操作:

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

是的,它们需要在一条线上

 s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);
for(int i=0;i
转义字符是字符,因此它们需要在单引号中
'\t'
。或者您可以用一个转义字符构造字符串,使其成为
“\t”
。没有任何引号
\t
是非法的。

是的

for (int i = 0; i < speaker.Length; i++)
{
   s.WriteLine(speakerAmt[i] + "\t" + speakerID[i]);
}
for(int i=0;i
自从C#6以来,更好的做法是:

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

它是

是/否。我把它放进了引号中,错误行消失了,但我没有构建。这是一个非常非常大的问题program@wizlog:那将是一个“不”。作为提示,如果您有一件小事情不确定,但不想构建/执行大型应用程序:只需创建一个快速且脏的winforms应用程序,然后在那里尝试。确定答案从开始到结束不应超过60秒。我建议测试小代码段+1:不是因为您回答了一个难题这是一个非常简单的问题,因为OP可能会暴露在String.Format例程中……)
for (int i = 0; i < speaker.Length; i++)
{
    s.WriteLine($"{speakerAmt[i]}\t{speakerID[i]}");
}