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

C#控制台应用中字符串数组无有效输出值问题排查

问题原因

C#中的string是具备值语义的不可变类型,你在初始化数组favorite时,只会把当时food存储的空字符串值复制到数组对应位置,不会和food变量建立绑定关联。后续你修改food的值时,只会改动food本身的存储内容,不会同步影响已经写入数组的值,所以最终输出favorite[0]时只会拿到初始化时的空字符串。

修复方案

你可以选择以下任意一种方式调整代码:

  • 调整数组初始化时机,等拿到用户输入后再初始化数组:
Console.WriteLine("what is your favorite food?");
string food = Console.ReadLine();
string[] favorite = { food };

Console.WriteLine("Your favorite food is" + favorite[0]);
  • 如果需要提前声明数组,拿到用户输入后手动更新数组对应位置的值:
string food = "";
string[] favorite = new string[1];

Console.WriteLine("what is your favorite food?");
food = Console.ReadLine();
favorite[0] = food;

Console.WriteLine("Your favorite food is" + favorite[0]);

内容的提问来源于stack exchange,提问作者Chris Van Gewden

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:48:03