C# 是否有一种方法可以根据if将字符串呈现给方法?
我有一段代码,其中AddDefSpan是一个扩展方法,它将单个字符串作为参数。这里我用的是:C# 是否有一种方法可以根据if将字符串呈现给方法?,c#,C#,我有一段代码,其中AddDefSpan是一个扩展方法,它将单个字符串作为参数。这里我用的是: FormattedString s = new FormattedString() .AddDefSpan("On the ") .AddTabSpan("settings") .AddDefSpan(" screen you set ") .AddDtlSpan("card appearan
FormattedString s = new FormattedString()
.AddDefSpan("On the ")
.AddTabSpan("settings")
.AddDefSpan(" screen you set ")
.AddDtlSpan("card appearance visibility")
.AddDefSpan(" to ")
.AddDtlSpan("favorites")
.AddDefSpan(" to ");
if (App.phraseInfo.Favorite == 0)
s.AddDefSpan(" aaa.");
else
s.AddDefSpan(" bbb.");
我想知道的是,是否有某种方法可以将决策(App.phraseInfo.Favorite==0)合并到.AddDefSpan的单个参数中
大概是这样的:
s.AddDefSpan(
if (App.phraseInfo.Favorite == 0) " aaa." else " bbb."
);
我意识到我刚才写的东西行不通,但我想知道是否有一种方法可以让它发挥作用?您可以使用:
您可以使用:
您可以使用大多数编程语言中存在的条件运算符或三元运算符。(三值,因为它需要3个操作数) 如果
条件
的计算结果为true,则计算第一个\u表达式
并返回其结果,否则计算并返回第二个\u表达式
所以在你的情况下
s.AddDefSpan(App.phraseInfo.Favorite == 0 ? " aaa." : " bbb. ");
您可以使用大多数编程语言中存在的条件运算符或三元运算符。(三值,因为它需要3个操作数) 如果
条件
的计算结果为true,则计算第一个\u表达式
并返回其结果,否则计算并返回第二个\u表达式
所以在你的情况下
s.AddDefSpan(App.phraseInfo.Favorite == 0 ? " aaa." : " bbb. ");
s.AddDefSpan(App.phraseInfo.Favorite==0?“aaa.”:“bbb.”)代码>谢谢,这太完美了。你能给个建议吗。我应该保留该问题并等待正式答案,还是删除该问题。不知道该怎么做。你们已经有了正式答案,用户甚至得到了5张赞成票,所以删除它会伤害他:)s.AddDefSpan(App.phraseInfo.Favorite==0?“aaa.”:“bbb”)代码>谢谢,这太完美了。你能给个建议吗。我应该保留该问题并等待正式答案,还是删除该问题。不知道该怎么做。你们已经有了正式的答案,用户甚至得到了5张赞成票,所以删除它会伤害他:)
s.AddDefSpan(App.phraseInfo.Favorite == 0 ? " aaa." : " bbb. ");