目前正在学校里做我的一项练习的学习代码,似乎无法解决此问题

时间:2019-10-28 15:48:25

标签: c#

当前正在练习创建购物应用程序,当前正在使用该程序的结帐方法,在该方法中,用户通过使用数字选择的基于控制台的简单程序来选择其付款类型。遇到错误 CS0029“无法将类型int隐式转换为字符串”

在代码“ input”的上下文中是console.readline();。当用户要求他们选择时输入的内容。

    public void UserInformation()
    {
        string input = "";


        Console.WriteLine("Please enter your Name");
        string userName = Console.ReadLine();
        Console.WriteLine("Please enter your address");
        Console.Write(">");
        string userAddress = Console.ReadLine();
        Console.WriteLine("Please Select payment type");
        Console.WriteLine("1. Debit");
        Console.WriteLine("2. Credit");
        Console.WriteLine("3. Cash on delivery");
        input = Console.ReadLine();
        Console.Write(">");

         if (input = 1)// gives error CS0029 "cannot implicitly convert 
                                                     type int to string"
         {
            //Debit
            Console.WriteLine($"Your total is {total}");
            Console.WriteLine("Please enter your Debit card Number");
            string userDebit = Console.ReadLine();
            Console.Write(">");
         }
        else
        if (input = 2)
        {
            //Credit
            Console.WriteLine($"Your total is {total}");
            Console.WriteLine("Please select card type");
            Console.WriteLine("1. Visa");
            Console.WriteLine("2. Mastercard");
            Console.WriteLine("3. American Express");
            string userCredit = Console.ReadLine();
            Console.Write(">");
        }

1 个答案:

答案 0 :(得分:1)

问题似乎是您的IF语句错误。如果将字符串“ Input”与2进行比较,则需要这样做:

 if (input == "2")

那是您在将它与字符串而不是Int进行显式比较