c# $ @特殊字符


c# @ 停止字符串中的轉義字符,讓字符串內的轉義字符當正常字符輸入。

因此,如果你需要類似“所見所得”效果的賦值,逐字字符串賦值方式會是你的首選!
此外,需要注意的是,當使用符號 "@" 為字符串賦值時,被賦值的所有字符將不需要經過轉義——只有雙引號這個本身作為界限的字符需要經過轉義,此時它的轉義輸入方法是兩個放在一起的雙引號:""
在以這種方式給變量賦值時,也只有這唯一一個轉義是合法的。如果希望諸如換行、制表符此類字符在字符串體現出來,也可以直接將帶有換行與制表符的字面量字符串賦給字符串量;不過這樣,就不能在換行前的前一行寫注釋或其他語句,否則這些語句將被當作字符串值的一部分。

           double n = 9.3;
Console.WriteLine("now test \' it \' look like{0}", 77);//now test ' it " look like77f Console.WriteLine(@"now test \' it \' look like{0}", 232); //now test \' it \' look like232 Console.WriteLine($@"now test\' it \' {n:##.0\%}"); // now test\' it \' 9.3% 內插字符串內可以使用轉義字符 ,{n:##.0\%}將字符解釋為文本字符而不是格式字符

 

c# $  內插字符串的結構

要在內插字符串生成的文本中包含大括號 "{" 或 "}",請使用兩個大括號,即 "{{" 或 "}}"。 有關詳細信息,請參閱轉義大括號。

因為冒號(“:”)在內插表達式項中具有特殊含義,為了在內插表達式中使用條件運算符,請將表達式放在括號內。

以下示例演示如何將大括號含入結果字符串中,以及如何在內插表達式中使用條件運算符:

string name = "Horace";
int age = 34;
Console.WriteLine($"He asked, \"Is your name {name}?\", but didn't wait for a reply :-{{");
Console.WriteLine($"{name} is {age} year{(age == 1 ? "" : "s")} old.");
// Expected output is: // He asked, "Is your name Horace?", but didn't wait for a reply :-{ // Horace is 34 years old.

 

從 C# 8.0 開始,可以按任意順序使用 $@ 標記:$@"..."@$"..." 均為有效的內插逐字字符串。 在早期 C# 版本中,$ 標記必須出現在 @ 標記之前。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM