如何在C#数组的已有字符串末尾追加指定字符串?
C# 实现字符串数组元素末尾追加输入内容
需求
- 创建字符串数组并初始化元素
- 从控制台获取一个单词
- 将该单词追加到数组每个已有元素的末尾(不新增数组元素)
- 通过循环完成修改,再用第二个循环输出结果
原代码问题点
foreach循环中用字符串resp作为数组索引是错误的——数组索引必须是整数类型Append方法会新增数组元素,不符合“不新增元素”的要求- 循环内重复调用
Console.ReadLine会导致多次读取输入,逻辑混乱
修正后的代码
string[] strArray = { "text", "what" }; Console.WriteLine("Enter in some text"); string response = Console.ReadLine(); // 用for循环通过索引访问并修改数组元素 for (int i = 0; i < strArray.Length; i++) { // 追加输入内容,添加空格保证输出格式清晰 strArray[i] = strArray[i] + " " + response; } // 遍历输出修改后的所有元素 foreach (string item in strArray) { Console.WriteLine(item); } // 可选:等待用户输入后退出程序 Console.ReadLine();
代码说明
- 改用
for循环:需要修改原数组元素时,for循环能通过整数索引直接定位并修改对应位置的元素,而foreach仅适合只读遍历 - 单次读取输入:仅在开头读取一次控制台输入,避免重复读取导致的逻辑错误
- 格式优化:追加内容时添加空格,让输出结果(如
text hello)更符合预期 - 输出逻辑:一次性打印所有修改后的元素,最后仅需一次
Console.ReadLine等待用户确认
测试效果:输入hello后,控制台会输出:
text hello what hello
内容的提问来源于stack exchange,提问作者Cristina
相关产品推荐
相关产品推荐

