[英]Inheritance Variable Questions (Changing inherited variables) in Unity (C#)
[英]C# variable questions
我正在使用 C# 开发一个项目,该项目需要运行基于用户输入的方法。 用户可以在文本框中输入整数或字符串。 是否有可能创建一个未声明的变量,如果没有,我该如何为用户输入使用正确的方法? 我计划创建两个重载方法。
您可以使用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
}
}
用户可以在文本框中输入整数或字符串。
对我来说似乎很简单。 您可以通过 Text 属性从文本框中获取输入,该属性始终是一个字符串。 因此,您需要检查输入是否可以使用 TryParse 解析为整数。 我个人不明白为什么需要重载方法。 除了参数的类型外,方法是否相同? 如果不是,我不会选择重载,而是选择具有明确命名的不同的重载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.