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

如何在C#字符串数组中根据索引替换指定元素?

C#控制台程序:新增数组元素替换功能实现

以下是在现有代码基础上添加替换功能的完整实现,包含输入合法性校验,避免无效索引导致的错误:

Console.WriteLine("Type in 5 names: ");

string[] input = new string[5];
for (int i = 0; i < input.Length; i++)
{
    input[i] = Console.ReadLine();
}

Console.WriteLine("\n当前姓名列表:");
for (int i = 0; i < input.Length; i++)
{
    int rank = i + 1;
    Console.WriteLine(rank + ". " + input[i]);
}

// 新增替换功能逻辑
Console.WriteLine("\n请输入要替换的序号(1-5):");
// 校验输入是否为有效整数
if (int.TryParse(Console.ReadLine(), out int inputIndex) && inputIndex >= 1 && inputIndex <= 5)
{
    // 转换为数组实际索引(数组从0开始)
    int arrayIndex = inputIndex - 1;
    
    Console.WriteLine("请输入新姓名:");
    string newName = Console.ReadLine();
    
    // 替换数组对应位置的元素
    input[arrayIndex] = newName;
    
    Console.WriteLine("\n替换后的姓名列表:");
    for (int i = 0; i < input.Length; i++)
    {
        int rank = i + 1;
        Console.WriteLine(rank + ". " + input[i]);
    }
}
else
{
    Console.WriteLine("输入的序号无效,请输入1-5之间的数字!");
}

关键逻辑说明

  • 输入校验:用int.TryParse确保用户输入的是有效数字,同时判断输入的序号在1-5范围内,避免数组越界异常
  • 索引转换:因为原打印列表是从1开始编号,所以把用户输入的序号减1,对应数组的0起始索引
  • 元素替换:直接通过input[arrayIndex] = newName完成数组元素替换,数组是引用类型,修改后直接生效
  • 重新打印:替换完成后再次遍历数组,输出更新后的姓名列表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 07:35:22