C#轉義字符:
引言
為了在程序中能夠控制字符的輸出以及區分開雙引號和單引號(雙引號和單引號在程序中標示里面的內容為字符串和字符),所以用一種特殊的字符常量;是·以反斜線”\”開頭,后跟一個或幾個字符。讓其·具有特定的含義,不同于字符原有的意義,故稱“轉義”字符。·用一些普通字符的組合來代替一些特殊字符,由于其組合改變了原來字符表示的含義,因此稱為“轉義” 。為控制輸出的轉義字符:
\0 空
\a 警告(產生峰鳴)
\b 退格
\f 換頁
\n 換行,光標移到下行
\r 回車,光標在本行
\t 水平制表符
\v 垂直制表符
為表示雙引號和單引號:
\’ 單引號
\” 雙引號
\ 反斜杠
c#里 @ 表示的是:
所以,@的作用就應該是忽略轉義字符的作用.
在C#中,”c:\temp”表示路徑是c:\temp; 而@”c:\temp”就表示c:\temp;
其中意味著\t就不再轉義符了。
例子
1、常用的就是\n和\r了。
#region 192.168.10.5[port=21,type=ftp] 192.168.10.5[port=21]
string msg = "192.168.10.5[port=21,type=ftp]";
string[] parts = msg.Split(new string[] { "[port=", ",type=", "]" }, StringSplitOptions.RemoveEmptyEntries);Console.WriteLine("IP:{0} Port:{1} service:{2}", parts[0], parts[1], parts.Length == 3 ? parts[2] : "http");Console.ReadLine();
此時輸出為:
如改為:
Console.WriteLine("IP:{0}\n Port:{1}\n service:{2}", parts[0], parts[1], parts.Length == 3 ? parts[2] : "http");
結果為:
如果改為:
Console.WriteLine("IP:{0}\r Port:{1}\r service:{2}", parts[0], parts[1], parts.Length == 3 ? parts[2] : "http");
結果為:
如果改為:
Console.WriteLine("IP:{0} Port:{1}\r service:{2}", parts[0], parts[1], parts.Length == 3 ? parts[2] : "http");
結果為:
此處Ip其實被打印出來了,ip和port都被打印出來,然后回車鍵,光標來到起始點,然后service的信息遮蓋住了ip信息,但是port信息沒有遮蓋住,所以port信息輸出了。
如果改為:
Console.WriteLine("IP:{0}\r Port:{1}\n service:{2}", parts[0], parts[1], parts.Length == 3 ? parts[2] : "http");
結果為:
此處意味著其實結果都打印出來,在打印Ip后,回車鍵但是沒有換行,然后在本行開始出,繼續打印,最后一部本分ip信息被遮蓋。
2、輸出雙引號和單引號
如果在程序中有雙引號,怎么查找或者怎么打印出雙引號。其實在雙引號前加\就可以了。
比如:
textbox.text=”你是\”天才\”,哈哈!”
顯示什么?
顯示:你是“天才”哈哈。
同樣對于單引號。
那么如果想顯示出”\t”,又該怎么做呢?
Response.Write(“\”\t\”“);
顯示結果: “\t”
記得在程序中@還是很重要的,讓轉義符不再起作用,以防文件命中有t或者n
比如:c:\temp,這個就會出錯。