如何在字符串插值中使用条件运算符?

0 c# conditional-operator c#-6.0

我目前正在使用这种技术:

...
    string s = user.Gender ? "Mr." : "Mrs.";
    string body = $@"Dear {s} {user.First_name}..."
...
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情:

...
    string body = $"Dear {return user.Gender ? "Mr." : "Mrs."} {user.First_name}..."
...
Run Code Online (Sandbox Code Playgroud)

Joe*_*ius 5

您需要在表达式周围加上括号,如下所示:

string body = $"Dear {(user.Gender ? "Mr." : "Mrs.")} {user.First_name}...";
Run Code Online (Sandbox Code Playgroud)

原因是冒号表示某些内容的格式字符串。