📜  条件表达式不能直接用于字符串插值,因为 ':' 结束插值.将条件表达式括起来. - C# (1)

📅  最后修改于: 2023-12-03 14:55:28.497000             🧑  作者: Mango

条件表达式不能直接用于字符串插值

在 C# 中,条件表达式(ternary expression)是一种简洁的用法来根据某个条件选择不同的值。然而,在进行字符串插值时,我们不可以直接使用条件表达式,因为 : 字符会被认为是插值中的结束标志,从而导致编译错误。

为了解决这个问题,我们可以使用括号将条件表达式括起来,即可正常地在字符串插值中使用条件表达式。

以下是一个示例代码片段,演示了如何使用条件表达式进行字符串插值:

string name = "Alice";
int age = 30;

string message = $"Hello, {(age >= 18 ? name : "Anonymous")}. You are {(age >= 18 ? "an adult" : "a minor")}.";
Console.WriteLine(message);

在上述代码中,我们使用了条件表达式来判断年龄是否大于等于18岁。如果年龄大于等于18岁,字符串插值中的名称将被显示为实际的姓名,否则将显示为 "Anonymous"。类似地,根据年龄的不同,我们还会显示不同的提示信息。

输出结果为:

Hello, Alice. You are an adult.

这样,我们就成功地在字符串插值中使用了条件表达式。

希望以上内容对你有所帮助,如有任何疑问,请随时提问。