c#字符连接符号$与三元运算符的问题

写代码中遇到这种问题,字符串处理符号$与三元运算符一起用出现了些许问题,如下:

 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")}");

不知道为什么内插表达式不能用冒号。

猜你喜欢

转载自www.cnblogs.com/Forlight/p/11872230.html