本文記錄了給字元串賦予字面值時,為便於操作與閱讀而進行的常用操作,如轉義序列,C#6的新功能‘字元串插入’以及一字不變的指定字元串等。 ...
1.占位符、字元串插入
給字元串賦予字面值時,經常遇見在字元串中包含變數的情況,用連接符進行拼接、轉換的方式比較麻煩、還容易出錯。C#提供了較為便捷的處理方式,即‘占位符’,以及C#6的新功能‘插入字元串’(沒記錯的話是VS2015及後續新版本可用該功能)。下麵舉個簡單的例子說明用法:
string a="A friend in need";
string b="a friend indeed.";
想要輸出A friend in need is a friend indeed.這句話,可選擇如下方式:
(1)占位符
Console.WriteLine(“{0}is{1}”,A friend in need,a friend indeed.");
/*字元串裡面需要使用變數的時候,先在該位置使用{ 編號}占位符(編號從0開始),再在後面相應位置寫內容*/
(2)插入字元串
Console.WriteLine($"{a} is {b}");
/*在雙引號前面加$,然後把雙引號裡面的變數用{ }括起來,雙引號內的變數即可按變數所代表的內容輸出*/
2.轉義序列
以下內容轉載自夜店耍流氓的博客
原文鏈接: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" //@後面的字元全部按字面意思解釋(如該語句中的\不再視作轉義序列的,而是直接視作一個字元)