C# 通过用户';将项添加到两个重载方法之一,并显示返回字符串
我目前正在为学校做一个项目练习。我要创建一个程序,允许用户输入整数项目编号或字符串描述。然后将该条目传递给两个重载的C# 通过用户';将项添加到两个重载方法之一,并显示返回字符串,c#,user-input,overloading,C#,User Input,Overloading,我目前正在为学校做一个项目练习。我要创建一个程序,允许用户输入整数项目编号或字符串描述。然后将该条目传递给两个重载的GetDetails()方法之一,然后显示一个包含所有订单详细信息的返回字符串 如果方法版本接受整数,它将查找描述和价格 如果方法版本接受字符串描述,它将查找项目编号和价格 如果找不到该项,这些方法将返回相应的消息 class Program { static void Main() { string inputstring; int
GetDetails()
方法之一,然后显示一个包含所有订单详细信息的返回字符串
如果方法版本接受整数,它将查找描述和价格
如果方法版本接受字符串描述,它将查找项目编号和价格
如果找不到该项,这些方法将返回相应的消息
class Program
{
static void Main()
{
string inputstring;
int itemNum;
WriteLine("Enter the item number or description of the item you would like to order.");
inputstring = ReadLine();
int.TryParse(inputstring, out itemNum);
GetDetails(itemNum);
}
private static void GetDetails(string itemNum)
{
if (itemNum == "Enchilada")
WriteLine("Item number 20 priced at $2.95.");
else if (itemNum == "Burrito")
WriteLine("Item number 23 priced at $1.95.");
else if (itemNum == "Taco")
WriteLine("Item number 25 priced at $2.25.");
else if (itemNum == "Tostada")
WriteLine("Item number 31 priced at $3.10.");
else
WriteLine("Item not found.");
}
private static void GetDetails(int itemNum)
{
if (itemNum == 20)
WriteLine("The Enchilada is priced at $2.95.");
else if (itemNum == 23)
WriteLine("The Burrito is priced at $1.95.");
else if (itemNum == 25)
WriteLine("The Taco is priced at $2.25.");
else if (itemNum == 31)
WriteLine("The Tostada is priced at $3.10.");
else
WriteLine("Item not found.");
}
}
我遇到的问题是如何让这个字符串端工作。我可以通过删除int.TryParse(inputstring,out itemNum)来实现这一点
和更改获取详细信息(inputstring)
。这将允许字符串工作,但不会让程序的项目编号端工作。我开始觉得要想让这项工作顺利进行,我感到非常不知所措,我希望得到一些意见。改变
int.TryParse(inputstring, out itemNum);
GetDetails(itemNum);
到
如果
TryParse
成功,则返回true
。然后将使用该方法的int
版本。否则,如果无法将输入解析为int
,则使用string
方法。Wow在看到这些之后,事情变得更有意义了。非常感谢你。我不得不修正代码中的一些其他东西,但这正是我所需要的,让我突破我所需要的。再次感谢。很高兴我能帮上忙!
if (int.TryParse(inputstring, out itemNum))
{
GetDetails(itemNum);
}
else
{
GetDetails(inputstring);
}