寫代碼中遇到這種問題,字符串處理符號$與三元運算符一起用出現了些許問題,如下:
1 using System; 2 namespace HelloWorld 3 { 4 class Program 5 { 6 static void Main(string[] args) 7 { 8 bool b = true; 9 string who = b ? "Tom" : "Jerry"; 10 Console.WriteLine($"Hello {who}"); 11 Console.ReadLine(); 12 } 13 } 14 }
上面代碼沒有任何問題,但是如果把第9行和第十行合並,
1 using System; 2 namespace HelloWorld 3 { 4 class Program 5 { 6 static void Main(string[] args) 7 { 8 Console.WriteLine($"Hello {b ? "Tom" : "Jerry"}"); 9 Console.ReadLine(); 10 } 11 } 12 }
內插表達式不能有冒號,必須用括號:
Console.WriteLine($"Hello {(b ? "Tom" : "Jerry")}");
不知道為什么內插表達式不能用冒號。