在c# 11中,我们现在可以在插入字符串中包含换行符。所以我们可以这样写代码:
string pageTitle = "";
string header = $"Header: {
pageTitle switch
{
"" => "No title",
_ => pageTitle
}}";
是否有一种方法来编写其他代码在这里除了switch语句?
我尝试了if
,它告诉我if
是一个无效的表达式项。
string header51 = $"Header: {
if (pageTitle5 == "")
{
"No title";
}
else
{
pageTitle5;
}
}";
除了switch之外,还有其他语句在这里工作吗?
每个表达式将工作。在c#中,if
不是一个表达式,而是一个语句。
string header51 = $"Header: {
(pageTitle5 == ""
? "No title"
: pageTitle5)
}";
switch
在您的示例中工作,因为您不使用switch
语句,而是使用switch
表达式。
如果您喜欢使用If else语句,您可以这样编写代码:
string header51 = $"Header:{() =>
{
if (pageTitle5 == "")
{
return "No title";
}
else
{
return pageTitle5;
}
}
}";
这样你可以更灵活地在if else块中执行额外的逻辑