无法将字符串隐式转换为int

时间:2019-05-24 02:57:03

标签: c#

我正在尝试制作一个只有乘法的计算器。

我正在尝试

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);


        }
    }
}

1 个答案:

答案 0 :(得分:-1)

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

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

还有其他方法。有关详细信息,请访问How to: Convert a String to a Number (C# Programming Guide)