c# - 循环实现中的三元运算符

标签 c# loops ternary

我正在尝试将两个循环合二为一。这个循环应该从头到尾遍历数组,否则。但是我的增量不正确。谁能帮忙? 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/

相关文章:

c# - 从无序点绘制连续线

c# - 是否可以在不添加服务引用的情况下访问 WCF 服务?

java - 有人可以帮我用java中的for循环格式化二维数组显示吗

iphone - 代码/iOS : Iterating through all instances of a given class?

arrays - 如何在MIPS中找到数组的最小值

包含给定三元字符串的一个或两个字符的连续子字符串

c# - BackgroundService .net 核心中 ExecuteAsync 和 StartAsync 方法之间的区别

c# - 在 WCF 服务 channel 调度程序上安装 IErrorHandler

java - 被 += 覆盖的函数增量

c# - 这是三元运算符的合理使用吗?