首页 > 解决方案 > 在学校学习代码目前正在做我的一项练习,但似乎无法解决这个问题

问题描述

目前正在进行一项创建购物应用程序的练习,目前正在研究程序的结帐方法,用户通过一个简单的基于控制台的程序选择他们的付款类型,该程序使用数字选择。收到错误 CS0029“无法将 int 类型隐式转换为字符串”

在代码的上下文中“输入”是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(">");
        }

标签: c#

解决方案


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

 if (input == "2")

那是您明确地将其与字符串进行比较,而不是 Int


推荐阅读