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

Visual Studio中C#数组无法识别RemoveAt方法问题求助

问题解决:C#数组无法调用RemoveAt方法

错误提示翻译

'string[]' 不包含 'RemoveAt' 的定义,并且找不到可接受第一个 'string[]' 类型参数的可访问扩展方法 'RemoveAt'(是否缺少 using 指令或程序集引用?)

核心原因

C#中的普通数组(如string[]、int[])是固定长度结构,一旦创建就无法修改其长度,因此根本没有RemoveAt这类用于动态修改集合元素的方法。你测试时觉得数字数组能用,大概率是混淆了普通数组和List<int>——List是动态可变集合,天生支持增删操作。

解决方案

方案1:改用List(推荐)

把原来的数组类型替换为List<string>,它专门用于需要动态添加、删除元素的场景:

// 初始化List并添加角色属性
List<string> stats = new List<string>
{
    "角色1属性", "角色2属性", ... // 填入你的10个角色属性
};

// 调用RemoveAt删除指定索引元素(注意索引从0开始)
stats.RemoveAt(indexNo - 1);

方案2:手动处理数组(不推荐,仅作参考)

如果一定要用数组,需要手动创建新数组来实现“删除”效果:

int indexToRemove = indexNo - 1;
// 创建长度减1的新数组
string[] newStats = new string[stats.Length - 1];
// 复制删除位置之前的元素
Array.Copy(stats, 0, newStats, 0, indexToRemove);
// 复制删除位置之后的元素
Array.Copy(stats, indexToRemove + 1, newStats, indexToRemove, stats.Length - indexToRemove - 1);
// 替换原数组
stats = newStats;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 17:15:19