C# 是否有一种方法可以根据if将字符串呈现给方法?

C# 是否有一种方法可以根据if将字符串呈现给方法?,c#,C#,我有一段代码,其中AddDefSpan是一个扩展方法,它将单个字符串作为参数。这里我用的是: FormattedString s = new FormattedString() .AddDefSpan("On the ") .AddTabSpan("settings") .AddDefSpan(" screen you set ") .AddDtlSpan("card appearan

我有一段代码,其中AddDefSpan是一个扩展方法,它将单个字符串作为参数。这里我用的是:

        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. ");