爲什麼我需要在以下字符串中使用雙重{
但單個}
?爲什麼我需要在下面的字符串中加雙(但是單個)?
static void Main()
{
Console.Write("a={0}, b={1}, c={{", 1, 2);
foreach (var i in Enumerable.Range(1, 5)) Console.Write("{0},",i);
Console.WriteLine("\b}");
}
爲什麼我需要在以下字符串中使用雙重{
但單個}
?爲什麼我需要在下面的字符串中加雙(但是單個)?
static void Main()
{
Console.Write("a={0}, b={1}, c={{", 1, 2);
foreach (var i in Enumerable.Range(1, 5)) Console.Write("{0},",i);
Console.WriteLine("\b}");
}
因爲當你在字符串中使用與string.Format()
或Console.Write()
模板的方法與"{0}"
,支架是一個特殊的符號。因此,如果你想用一個實際的支架,你需要做"{{"
逃吧這將輸出一個{
謝謝,我明白了。關鍵是「使用{
http://msdn.microsoft.com/en-us/library/txafckwd.aspx,滾動標題爲轉義括號
總之節,花括號有字符串格式化程序的特殊含義,如果您需要在輸出字符串中使用文字大括號,則需要轉義。類似於字符串轉義雙引號,等等
Console.Write("a={0}, b={1}, c={{", 1, 2);
您使用的不是正進行字符串此方法,它是使用需要您的字符串格式化使用大護腕的的String.Format() 。
Console.Write("a=1, b=2, c={");
應該使用簡單的字符串而不加倍大括號。
可能的重複[string.format格式字符串包含{](http://stackoverflow.com/questions/8402488/string-format-format-string-containing) –