C#中带ref数组参数的for循环运行逻辑及输出结果求解
C# for循环输出结果逻辑说明
初始状态
- 传入
fun1的原始数组为[1,2,3,4,5],数组长度为5,下标范围为0~4 - for循环规则:
- 循环变量i初始值为0
- 循环继续条件:
i < array.Length(即i < 5) - 单次循环执行完成后,i自增2
单轮循环处理过程
第1次循环(i=0)
- 条件判断:0 < 5,符合执行要求
- 处理下标为0的元素:原值为1,执行
array[0] = array[0] + 10,赋值后该位置值变为11 - 执行i更新:i = 0 + 2 = 2
第2次循环(i=2)
- 条件判断:2 < 5,符合执行要求
- 处理下标为2的元素:原值为3,执行
array[2] = array[2] + 10,赋值后该位置值变为13 - 执行i更新:i = 2 + 2 = 4
第3次循环(i=4)
- 条件判断:4 < 5,符合执行要求
- 处理下标为4的元素:原值为5,执行
array[4] = array[4] + 10,赋值后该位置值变为15 - 执行i更新:i = 4 + 2 = 6
循环终止判断
i=6时,6 < 5不成立,循环停止执行。
最终结果说明
数组下标为1、3的元素从未被循环命中,因此保留原始值2、4,最终数组为[11,2,13,4,15],拼接输出后和你看到的结果一致。
内容的提问来源于stack exchange,提问作者Eni
相关产品推荐
相关产品推荐

