給字符串賦予字面值時,常常碰見在字符串中包含變量的狀況,用鏈接符進行拼接、轉換的方式比較麻煩、還容易出錯。C#提供了較爲便捷的處理方式,即‘佔位符’,以及C#6的新功能‘插入字符串’(沒記錯的話是VS2015及後續新版本可用該功能)。下面舉個簡單的例子說明用法:html
string a="A friend in need";post
string b="a friend indeed.";url
想要輸出A friend in need is a friend indeed.這句話,可選擇以下方式:spa
(1)佔位符code
Console.WriteLine(「{0}is{1}」,A friend in need,a friend indeed."); htm
/*字符串裏面須要使用變量的時候,先在該位置使用{ 編號}佔位符(編號從0開始),再在後面相應位置寫內容*/blog
(2)插入字符串ci
Console.WriteLine($"{a} is {b}");開發
/*在雙引號前面加$,而後把雙引號裏面的變量用{ }括起來,雙引號內的變量便可按變量所表明的內容輸出*/字符串
如下內容轉載自夜店耍流氓的博客
原文連接:C#中字符串的字面值(轉義序列)
在程序開發中,常常會碰到在字符串中字面值中使用轉義序列,下面表格收集了下轉義序列的完整列表,以便你們查看引用:
轉義序列 | 產生的字符 | 字符的Unicode值 |
\' | 單引號 | 0x0027 |
\" | 雙引號 | 0x0022 |
\\ | 反斜槓 | 0x005C |
\0 | 空 | 0x0000 |
\a | 警告(產生蜂鳴) | 0x0007 |
\b | 退格 | 0x0008 |
\f | 換頁 | 0x000C |
\n | 換行 | 0x000A |
\r | 回車 | 0x000D |
\t | 水平製表符 | 0x0009 |
\v | 垂直製表符 | 0x000B |
表中的「Unicode值」列是字符在Unicode字符集中的16進制值。使用Unicode轉義序列能夠指定Unicode字符,該轉義序列包括標準的\字符,後跟一個u和一個4位十六進制值(例如,表中x後面的4位數字)。
下面的字符串是等價的:
"Karli\'s string."
"Karli\u0027s string."
顯然,Unicode轉義序列還有更多用途。
也能夠逐字地指定字符串,即兩個雙引號之間的全部字符都包含在字符串中,包括行末字符和須要轉義的字符。惟一例外是雙引號字符的轉義,它們必須指定,以避免結束字符串。爲此,能夠在該字符串以前加一個@字符:
@"Verbatim string literal."
能夠採用通常方式指定這個字符串,但須要使用下面這種方法:
@"A short list:
item 1
item2"
逐字指定的字符串在文件名中很是有用,由於文件名中大量使用了反斜槓字符。若是使用通常的字符串,就必須在字符串中使用兩個反斜槓,例如:
"c:\\Temp\\MyDir\\MyFile.doc"
而有了逐字指定的字符串字面值,這段代碼就更便於閱讀。下面的字符串與上面的等價:
@"c:\Temp\MyDir\MyFile.doc" //@後面的字符所有按字面意思解釋(如該語句中的\再也不視做轉義序列的,而是直接視做一個字符)