我正在尝试将两个循环合二为一。这个循环应该从头到尾遍历数组,否则。但是我的增量不正确。谁能帮忙? T提前致谢。
for (int i = ((asc == true) ? 0 : calendar.Length - 1);
((asc == true) ? i < calendar.Length : i > 0);
(asc==true) ? i++ : i--)
最佳答案
就我个人而言,我发现非常难以阅读,而且无效(它不会编译)——因为你正试图将条件运算符用作语句表达式,而实际上它不是.就个人而言,我会这样写:
for (int i = 0; i < calendar.Length; i++)
{
int index = asc ? i : calendar.Length - 1 - i;
// Now use index...
}
让三个不同的方面都成为有条件的感觉是一种令人讨厌的方式。
关于c# - 循环实现中的三元运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26851299/