请问有人可以帮忙吗?我遇到了一个问题,如何检测当由于无效值而退出循环时。
例如,如果有人输入3 5 6 7 9作为儿童的年龄,那么这是可以的。但如果输入o 3 5 6 7,则我的代码将返回-1并退出循环。
我该如何检测并返回信息呢?
public static int IntIsValid(string p)
{
int pn;
bool isNum = int.TryParse(p, out pn);
int pnIsvalid = isNum ? pn : -1;
return pnIsvalid;
}
string addDash = Regex.Replace(agesOfChildren, " ", "_");
string[] splitNumberOfChildren = addDash.Split('_');
string splitChildrensAge = string.Empty;
int checkAgeOfChildren = 0;
string problem = string.Empty;
foreach (var splitAgeOfChild in splitNumberOfChildren)
{
splitChildrensAge = splitAgeOfChild;
checkAgeOfChildren = RemoveInvalidInput.IntIsValid(splitChildrensAge);
if (checkAgeOfChildren == -1)
{
problem = "problem with age, stop checking";
break;
}
}
所以我想要做类似的事情
if(error with loop == true)
{
ViewBag.Message = problem;
}
希望有人可以帮忙,因为我脑子一片空白。
乔治
checkAgeOfChildren
声明为全局变量,在循环结束后检查它的值呢? - Jurgen Camilleriif(!string.IsNullOrEmpty(problem))
- Stephan BauercheckAgeOfChildren
作为标志(只需检查它是否为-1)。 - Matthew Watson