考慮:string newline = "\r\n";Console.WriteLine($"Hello without at{newline}how are you?");Console.WriteLine($"Hello with at{@newline}how are you?");兩行的輸出是相同的。換行符始終打印為換行符。Hello without athow are you?Hello with athow are you?那么我什么時候需要花括號內的at 符號呢?
2 回答
FFIVE
TA貢獻1797條經驗 獲得超6個贊
$"Hello { myValue }"是 C#6 中引入的內插字符串。在您的情況下,這相當于調用String.Format("Hello {0}", myValue).
@當您的變量與關鍵字同名時需要逐字 ( ) ,而據我所知,newline這不是。但是,以下會導致編譯器錯誤:
String.Format("Hello {0}", if)雖然這不會:
String.Format("Hello {0}", @if)這里逐字告訴編譯器這if是一個變量的名稱,而不是if-關鍵字。
所以你不需要逐字逐句,因為newline不是關鍵字?;蛘邠Q句話說,您的代碼等效于:
Console.WriteLine("Hello with at{0}how are you?", @newline);這是逐字逐句的有效(即使是多余的)用法。
有關更多信息,請參閱有關 string-interpolation的文檔。
- 2 回答
- 0 關注
- 217 瀏覽
添加回答
舉報
0/150
提交
取消
