gpt4 book ai didi

C# 如何循环用户输入直到输入的数据类型正确?

转载 作者:行者123 更新时间:2023-12-05 08:16:38 25 4
gpt4 key购买 nike

如何让这段代码循环请求用户输入,直到 int.TryParse()

成功了吗?

//setX
public void setX()
{
//take the input from the user
string temp;
int temp2;
System.Console.WriteLine("Enter a value for X:");
temp = System.Console.ReadLine();
if (int.TryParse(temp, out temp2))
x = temp2;
else
System.Console.WriteLine("You must enter an integer type value"); 'need to make it ask user for another input if first one was of invalid type'
}

有用答案后的代码版本:

 //setX
public void setX()
{
//take the input from the user
string temp;
int temp2;
System.Console.WriteLine("Enter a value for X:");
temp = System.Console.ReadLine();
if (int.TryParse(temp, out temp2))
x = temp2;
else
{
Console.WriteLine("The value must be of integer type");
while (!int.TryParse(Console.ReadLine(), out temp2))
Console.WriteLine("The value must be of integer type");
x = temp2;
}
}

最佳答案

while (!int.TryParse(Console.ReadLine(), out mynum))
Console.WriteLine("Try again");

编辑:

public void setX() {
Console.Write("Enter a value for X (int): ");
while (!int.TryParse(Console.ReadLine(), out x))
Console.Write("The value must be of integer type, try again: ");
}

试试这个。我个人更喜欢使用 while,但是 do .. while 也是有效的解决方案。问题是我真的不想在任何输入之前打印错误消息。然而 while 也有问题,更复杂的输入不能被插入一行。这真的取决于你到底需要什么。在某些情况下,我什至建议使用 goto,即使有些人可能会因此跟踪我并用鱼拍打我。

关于C# 如何循环用户输入直到输入的数据类型正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4996793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com