有没有办法编写代码,以便当用户输入字符串或数字时,程序将选择最合适的已声明的可用变量?
伪代码示例:
static void Main()
{
int A;
string B;
Console.Write("enter something: ");
if (user enters a number)
A = int.Parse(Console.ReadLine());
else
B = Console.ReadLine();
}
答案 0 :(得分:3)
简单地说,因为Console.ReadLine
是接收用户输入的方式,并且因为它始终返回string
,无论如何:不,你必须自己解析字符串作为数字,然后自己将它分配给最合适的变量。
您可以使用int.TryParse
执行此操作,如果给定的字符串可以解析为(整数)数字,则返回true
,并将其分配给同一行中的第二个out
参数:
static void Main()
{
Console.Write("enter something: ");
string B = Console.ReadLine();
if (int.TryParse(B, out int A))
Console.WriteLine($"Yay, user entered number {A}.");
else
Console.WriteLine($"Nay, user entered a boring string {B}.");
}
答案 1 :(得分:1)
您可以让int.TryParse()
决定:
int A;
string B;
string userinput = Console.ReadLine();
// if parsing to int fails, assign to B
if (!int.TryParse(userinput, out A)
{
B = userinput;
}