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);
}