我有一个用户将迭代的问题列表,他们可以从任何问题开始,但他们确实有一个命令,所以为了做到这一点,我只需要维护一个数组的索引并像这样增加它:
CurrentQuestion = (++CurrentQuestion < questions.Length) ? CurrentQuestion : 0;
这里发生的事情不一定很明显,有没有更优雅的方法来做到这一点?
最佳答案
我强烈反对在变量上使用 ++
然后在同一语句中再次使用该变量。我相信这条线在 C# 中工作正常,但像这样的线在 C/C++ 中是未定义的,所以它们为我提出了一个标志。我会比较喜欢
CurrentQuestion = (CurrentQuestion+1) % questions.Length;
我认为这是在类 C 语言中进行时钟算术的惯用方式。
关于c# - 将索引更新为循环列表的更优雅方式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11057447/