C#变量问题

时间:2016-10-15 18:02:31

标签: c# methods

我正在开发一个C#项目,需要根据用户输入运行一个方法。用户可以在文本框中输入整数或字符串。是否可以创建未声明的变量,如果没有,我该如何使用正确的方法进行用户输入?我计划创建两个重载方法。

2 个答案:

答案 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的类型,方法是否相同?如果不是,我不会选择超载而只是选择具有明确命名的不同。