转义符"\""
一、转义符的表示:\
二、转义符的作用:
下面我们看两个例子:
例1:输出ab
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "ab"; Console.WriteLine(s); Console.ReadKey(); } } }
例2:输出"ab"
为什么输出"ab"要用转义符"\""?
因为编译器默认是遇到"开始字符串,再遇到"是结束字符串,但是如果遇到前面有\的"就是不把它当成有字符串起始意义的"。
例3:输出:a\b
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "a\\b"; Console.WriteLine(s); Console.ReadKey(); } } }例4:输出:a
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "a\b"; Console.WriteLine(s); Console.ReadKey(); } } }例5,输出:\b
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "\\b"; Console.WriteLine(s); Console.ReadKey(); } } }例6,输出:c:\temp\1.jpg
static void Main(string[] args) { string s = "c:\\temp\\1.jpg"; Console.WriteLine(s); Console.ReadKey(); }
(二)转义符的作用:换行。
例7,两行输出:
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = "a\nb"; //n:newline Console.WriteLine(s); Console.ReadKey(); } } }a
b
注意:“\n”在这里相当于换行的作用。
例8,输出:\\
static void Main(string[] args) { string s = "\\\\"; Console.WriteLine(s); Console.ReadKey(); }例9,输出:\\\\
static void Main(string[] args) { string s = @"\\\\"; //@表示字符串的\不当成转义符 Console.WriteLine(s); Console.ReadKey();对比例8和例9得出:如果\前加@,那么\不当转义符。
注意1:@只针对转义符有意义,对""没有意义。
如例6(输出:c:\temp\1.jpg)的另一种表示方法:
namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string s = @"c:\temp\1.jpg"; Console.WriteLine(s); Console.ReadKey(); } } }
注意2:转义符只针对在代码中直接写出的字符串,对于程序中读取出来没有这个问题(如例10)。
例10:
String str=Console.ReadLine();
Console.WriteLine(Str);
用户输入a\nb,输出的仍然是a\nb。