【问题标题】:Learning code at school currently doing one of my exercises and can't seem to fix this [duplicate]在学校学习代码目前正在做我的一项练习,似乎无法解决这个问题[重复]
【发布时间】:2019-10-28 15:48:25
【问题描述】:

目前正在进行一项创建购物应用程序的练习,目前正在研究程序的结帐方法,用户通过一个简单的基于控制台的程序选择他们的付款类型,该程序使用数字选择。得到错误 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(">");
        }

【问题讨论】:

  • 第一:比较对象应该使用==,而不是=,因为后者是赋值,而不是比较。第二:您的输入肯定类似于"1",而不仅仅是1。您必须将该输入明确转换为数字,例如通过使用Convert.ToInt32int.Parse
  • 您需要将字符串转换为 int 并且必须在if 条件下使用== 而不是=。所以试试:int.TryParse(input, out var value); if (value == 1)

标签: c#


【解决方案1】:

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

 if (input == "2")

那是你明确地将它与一个字符串进行比较,而不是一个 Int

【讨论】:

    猜你喜欢
    • 2014-04-02
    • 2023-02-21
    • 2021-05-28
    • 2022-11-17
    • 2020-12-19
    • 2015-05-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    相关资源
    最近更新 更多