首页 > 解决方案 > 无法将字符串隐式转换为 int

问题描述

我正在尝试做一个小乘法计算器。

我正在尝试做

int a;
a = Console.ReadLine();

然后它告诉我不能将字符串隐式转换为 int。

我希望它读取我的 int 变量并将其与另一个 int 变量相乘,但它不允许我这样做。谢谢

namespace ConsoleApp9
{
    class Program
    {
        static void Main(string[] args)
        {
            int a;
            int b;

            Console.WriteLine("Hey I'm a calculator in training and I'd like to test out my skills with you.");
            Console.WriteLine("I can only do one type of equation right now but I'm still learning");
            Console.WriteLine("What will your first number be?");
            a = Console.ReadLine();
            Console.WriteLine("So youre first number is ");
            Console.Write(a);
            Console.WriteLine(" Alrighty then what is your second number ?");
            b = Console.ReadLine();
            Console.WriteLine(a);
            Console.WriteLine("*");
            Console.WriteLine(b);
            Console.WriteLine("=");
            Console.WriteLine(a * b);


        }
    }
}

标签: c#

解决方案


方法 Console.ReadLine(); 实际上返回string. 而类型变量int只存储整数而不是整数的字符串表示。因此,您需要将输入从 转换stringint. string由于to没有隐式转换int,因此您需要显式转换。你可以这样做

  1. int a = Convert.ToInt32(Console.ReadLine()); 或者
  2. int a = int.Parse(Console.ReadLine()); 或者
  3. int a = (int) Console.ReadLine();

还有其他方法。有关详细信息,请访问如何:将字符串转换为数字(C# 编程指南)


推荐阅读