我正在开发一个C#项目,需要根据用户输入运行一个方法。用户可以在文本框中输入整数或字符串。是否可以创建未声明的变量,如果没有,我该如何使用正确的方法进行用户输入?我计划创建两个重载方法。
答案 0 :(得分:1)
您可以使用object
作为参数的类型,然后使用.GetType()
或is
执行类型检查。还有其他替代方法,例如dynamic
,但当您需要对对象执行方法调用而不必将其强制转换为实际类型时,使用dynamic
会更常见
无论如何,如果您从控制台读取,它将始终是一个字符串,因此您可以int.TryParse()
。
public void DoStuff(string param)
{
int chosen;
if(int.TryParse(param, out chosen)
{
// is an int do stuff with chosen
}
else
{
// it's not do stuff with param
}
}
答案 1 :(得分:0)
那时对我来说似乎很简单。您可以通过Text属性从文本框中获取输入,该属性始终是字符串。因此,您需要检查输入是否可以使用TryParse解析为整数。 就个人而言,我不明白为什么你需要重载方法。除了param的类型,方法是否相同?如果不是,我不会选择超载而只是选择具有明确命名的不同。用户可以在文本框中输入整数或字符串。