当前正在练习创建购物应用程序,当前正在使用该程序的结帐方法,在该方法中,用户通过使用数字选择的基于控制台的简单程序来选择其付款类型。遇到错误 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(">");
}
答案 0 :(得分:1)
问题似乎是您的IF语句错误。如果将字符串“ Input”与2进行比较,则需要这样做:
if (input == "2")
那是您在将它与字符串而不是Int进行显式比较