为何C#数组中的for循环表现如同while循环?如何仅打印偶数索引?
C#数组打印偶数索引的修改方案
如果你的for循环是类似while的写法(把变量初始化放在循环外,循环条件和增量分开处理),要改成仅打印偶数索引,有两种简洁的修改方式:
方式一:直接遍历偶数索引(效率更高)
直接让循环变量从0开始,每次递增2,跳过奇数索引,无需额外判断:
int[] yourArray = { 1, 2, 3, 4, 5, 6 }; int i = 0; // 从索引0开始,每次加2,直到超出数组长度 for (; i < yourArray.Length; i += 2) { Console.WriteLine(yourArray[i]); }
方式二:保留原循环节奏,添加偶数判断
如果需要保持循环每次递增1的逻辑,只需要在循环内判断当前索引是否为偶数(能被2整除):
int[] yourArray = { 1, 2, 3, 4, 5, 6 }; int i = 0; for (; i < yourArray.Length; i++) { // 数组索引从0开始,0、2、4...属于偶数索引 if (i % 2 == 0) { Console.WriteLine(yourArray[i]); } }
注意:如果你的需求是打印第偶数个元素(比如第2、4个,对应数组索引1、3),只需要把判断条件改成i % 2 == 1即可。
内容的提问来源于stack exchange,提问作者kimiahdri
相关产品推荐
相关产品推荐

