如何检查有效输入 C#
How to Check for valid input c#
我试图让这个方法像,如果你没有按下正确的值,一个消息框会显示,当你按下消息框时它会 return 你必须尝试把再次输入正确的值等等。如果该字段为 null 或为空,则必须给出 =0.. 如果我按 ex。 e2 它必须弹出消息框??
已经尝试过这个没有 else if.. 并且消息框 vil 没有消失?请帮忙
public int playerOneDart1Value;
public int calculateDart1()
{
if (player == "t1" || player == "T1" || player == "3")
{
playerOneDart1Value = 3;
}
else if (player == null) or empty??
{
playerOneDart1Value = 0;
}
else
{
MessageBox.Show("not valid input");
return calculateDart1();
}
return playerOneDart1Value;
}
您正在递归调用函数 calculateDart1
,因此消息框不会消失的原因是 MessageBox.Show("not valid input");
被一遍又一遍地调用。
您在显示消息框后直接调用 return calculateDart1();
,因此在再次进行检查并显示消息框之前,用户永远没有机会更改输入。
您在 MessageBox
提示后立即调用 calculateDart1()
,这会导致无限循环,使用户无法提供新的输入。对于您的 "null or empty" 要求,如果字符串为 null
或为空,则可以使用 string.IsNullOrEmpty
which returns true
。
public int playerOneDart1Value;
public int calculateDart1()
{
if (string.IsNullOrEmpty(player))
{
playerOneDart1Value = 0;
}
else if (player == "t1" || player == "T1" || player == "3")
{
playerOneDart1Value = 3;
}
else
{
MessageBox.Show("not valid input");
//you can use something like a negative value to indicate invalid input
playerOneDart1Value = -1;
}
return playerOneDart1Value;
}
我试图让这个方法像,如果你没有按下正确的值,一个消息框会显示,当你按下消息框时它会 return 你必须尝试把再次输入正确的值等等。如果该字段为 null 或为空,则必须给出 =0.. 如果我按 ex。 e2 它必须弹出消息框??
已经尝试过这个没有 else if.. 并且消息框 vil 没有消失?请帮忙
public int playerOneDart1Value;
public int calculateDart1()
{
if (player == "t1" || player == "T1" || player == "3")
{
playerOneDart1Value = 3;
}
else if (player == null) or empty??
{
playerOneDart1Value = 0;
}
else
{
MessageBox.Show("not valid input");
return calculateDart1();
}
return playerOneDart1Value;
}
您正在递归调用函数 calculateDart1
,因此消息框不会消失的原因是 MessageBox.Show("not valid input");
被一遍又一遍地调用。
您在显示消息框后直接调用 return calculateDart1();
,因此在再次进行检查并显示消息框之前,用户永远没有机会更改输入。
您在 MessageBox
提示后立即调用 calculateDart1()
,这会导致无限循环,使用户无法提供新的输入。对于您的 "null or empty" 要求,如果字符串为 null
或为空,则可以使用 string.IsNullOrEmpty
which returns true
。
public int playerOneDart1Value;
public int calculateDart1()
{
if (string.IsNullOrEmpty(player))
{
playerOneDart1Value = 0;
}
else if (player == "t1" || player == "T1" || player == "3")
{
playerOneDart1Value = 3;
}
else
{
MessageBox.Show("not valid input");
//you can use something like a negative value to indicate invalid input
playerOneDart1Value = -1;
}
return playerOneDart1Value;
}