我目前正在为学校开展一项计划活动。我要创建一个程序,允许用户输入整数项目编号或字符串描述。然后,该条目将传递给两个重载的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);
并更改GetDetails(inputstring)
来执行此操作。这将允许字符串工作,但不允许程序的项号侧工作。我开始感到非常不知所措,试图让它发挥作用,并希望得到一些意见。
答案 0 :(得分:2)
更改
int.TryParse(inputstring, out itemNum);
GetDetails(itemNum);
到
if (int.TryParse(inputstring, out itemNum))
{
GetDetails(itemNum);
}
else
{
GetDetails(inputstring);
}
如果TryParse
成功,则返回true
。然后,这将使用该方法的int
版本。否则,如果无法将输入解析为int
,则使用string
方法。