C#代码第46行报错Cannot Implicitly convert 'string' to int求解
C# "Cannot Implicitly convert 'string' to int" 报错解决方法
报错根因
Console.ReadLine() 的返回值为 string 类型,你在第46行直接将该返回值赋值给int类型的变量one,C#不支持string到int的隐式自动转换,因此触发编译错误。
解决方案
根据你的业务逻辑可以选择以下两种处理方式:
- 需求为读取用户输入的数字存入
one变量,优先使用安全转换方法,避免用户输入非数字内容时程序崩溃:
将第46行替换为以下代码:
// 转换成功则one为输入的数字,转换失败可以自定义错误提示 if (!int.TryParse(Console.ReadLine(), out one)) { Console.WriteLine("请输入合法的数字"); }
如果可以确保用户输入一定是数字,也可以使用简化写法:
one = int.Parse(Console.ReadLine());
注意该写法在输入非数字内容时会直接抛出运行时异常,仅适合测试场景使用。
- 需求为将站点对应的数组索引赋值给
one,不需要额外读取用户输入,直接替换第46行的逻辑即可,例:
// 获取第一个输入站点对应的数组索引 one = Array.IndexOf(stop, st1);
内容的提问来源于stack exchange,提问作者anewcoder111
相关产品推荐
相关产品推荐

