gpt4 book ai didi

c# - 循环未完成

转载 作者:太空宇宙 更新时间:2023-11-03 20:15:09 26 4
gpt4 key购买 nike

我有一个简单的程序,用于将输入传递给给定输入大小和用户输入元素的数组,如下所示: Full code

除了这段代码之外,所有代码都可以正常工作:

for(int i=0; i<size; i++) {
flagger = false;
while(flagger == false) {
System.Console.WriteLine("Please enter number " + i + " : ");
nextInput = System.Console.ReadLine();
flagger = errorCheck(nextInput);
}

int varPass = System.Convert.ToInt32(nextInput);
System.Console.WriteLine(flagger);
arr[i] = varPass;
}

无论我输入什么大小,循环都会提前退出并对包含一些空元素的数组进行排序,有人能看出问题所在吗?

最佳答案

在 errorCheck 中,您在将 size 的值传递给 out 参数时设置它。

因此,下次用户输入小于 i 的数字时,循环会提早退出。创建一个虚拟 int 或以不同方式处理错误检查。示例:

static bool errorCheck(string input) {  
int temp=0;
if (int.TryParse(input, out temp))
return true;
return false;
}

出现此“错误”是因为大小是静态的。

您可以通过返回 TryParse 的结果进一步简化您的代码。

static bool checkErr(string input) {
int temp=0;
return int.TryParse(input, out temp);
}

关于c# - 循环未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17360436/

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