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

C#向List<Player>添加球员姓名时报string转Player类型错误如何解决

错误原因及修复方案

错误根源

你的players变量是List<Player>类型,要求存入的每个元素都必须是Player类的实例,但你调用Add方法时传入的是player.Name,也就是string类型的字符串,两种类型不匹配,因此触发类型转换报错。
你不需要把列表改为字典,现有List<Player>结构完全支持后续按索引交换球员位置的需求。

修复方法

你现有的AddPlayer方法入参已经是完整的Player对象,直接把对象添加到列表即可:

public void AddPlayer(Player player)
{
    // 直接传入Player对象,而非单独的姓名字段
    players.Add(player);
}

可选扩展:支持直接传入姓名添加球员

如果后续有直接通过姓名新增球员的需求,可以额外重载一个AddPlayer方法:

public void AddPlayer(string playerName)
{
    // 自行构造Player实例再存入列表
    players.Add(new Player() { Name = playerName });
}

内容的提问来源于stack exchange,提问作者Juan Andres Gomez Botero

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:36:03