我有以下代码:
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] 删除。
我来说两句