You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#赋值左侧数组索引后置自增的代码执行逻辑与结果解析

C#代码执行结果解释
int[] array = new int[]{ 1, 2, 3 };
int i = 1;
array[i++] = array[i]+5;
   
var result = string.Join(",", array);
Console.WriteLine(result);

第三行代码执行流程拆解

C# 中所有表达式的求值顺序固定为从左到右,赋值运算符=的执行规则为:先计算左操作数的存储位置,再计算右操作数的最终值,最后将右值写入左操作数对应的存储位置。按照这个规则,array[i++] = array[i]+5的执行步骤如下:

  • 第一步:计算左操作数array[i++]的存储位置
    • 处理后置自增运算符i++:后置自增的规则是先返回变量的原始值,再执行自增操作。此时i的初始值为1,所以取索引值1,之后i立刻自增为2。
    • 最终确定左操作数对应的是数组的array[1]存储位置。
  • 第二步:计算右操作数array[i] + 5的结果
    • 此时i已经完成自增,值为2,所以array[i]对应array[2],取值为3。
    • 计算3 + 5得到结果8。
  • 第三步:执行赋值操作
    • 将右操作数的结果8,写入第一步确定的array[1]存储位置。

结果说明

执行完第三行代码后,数组三个元素的状态为:

  • array[0]:未被修改,保持初始值1
  • array[1]:被赋值为8
  • array[2]:未被修改,保持初始值3

最终拼接输出的结果就是1,8,3。

内容的提问来源于stack exchange,提问作者Hgrbz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:57:02