在插入字符串中编写其他c#代码?



在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块中执行额外的逻辑

相关内容

  • 没有找到相关文章

最新更新