我可以将强制变量与NULL结合使用吗?操作员?

艾伦2

我有以下代码:

public List<Phrase> GetViewablePhrases(MO mode, int pts = 0, bool force = false)
{
    if (force == true) App.selectedPhrases = null;
    App.selectedPhrases = App.selectedPhrases ?? App.DB.GetSelectedPhrases();

我不太了解??的用法 但我假设这是在说如果App.selectedPhrases为null,则获取新短语,否则将使用现有短语。

我的函数还具有强制选项,因此我所做的就是使用以下行:

if (force == true) App.selectedPhrases = null;

有没有办法将这两行结合起来:

if (force == true) App.selectedPhrases = null;
        App.selectedPhrases = App.selectedPhrases ?? App.DB.GetSelectedPhrases();
乔恩·斯基特

我将重点放在可读性上:如果force是真的或者我们目前没有任何短语,您想获取新短语

if (force || App.selectedPhrases == null)
{
    App.selectedPhrases = App.DB.GetSelectedPhrases();
}

尽管您可以使用条件?:运算符和null合并运算符在单个赋值语句中执行此操作,但我认为用if语句编写该语句更加清楚,以表明在其他情况下您无需进行任何更改。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章