我对C#相当新,觉得这可能是一个明显的答案,因为我理解错误意味着什么 - 但我不能为我的生活看到如何解决它!我正在检测到一个"无法访问的代码"警告我的第二个if语句,所以我意识到它没有被调用,我只是不知道我的错误在哪里,或者如何解决它。任何帮助将不胜感激!
我遇到问题的代码片段是:
bool valid = true;
if (txtFirst.Text.Length < 1 || txtLast.Text.Length < 1 || txtAddress.Text.Length < 1 || txtCity.Text.Length < 1 || txtState.Text.Length < 1)
{
return false;
}
string usZip = @"^\d{5}$|^\d{5}-\d{4}$";
Regex re = new Regex(usZip);
return re.IsMatch(txtZip.Text);
if (re.IsMatch(txtZip.Text))
return (true);
else
return (false);
return valid;
valid = false;
答案 0 :(得分:2)
在第二个if语句之前有一个return语句:
var gulp = require('gulp');
var bower = require('bower');
gulp.task('bower', function(cb){
bower.commands.install([], {save: true}, {})
.on('end', function(installed){
cb(); // notify gulp that this task is finished
});
});
所以下面的代码永远不会执行。
此外,如果因为if语句在任何一种情况下都会返回一个值,那么你的第二个代码下面也会出现无法访问的代码,所以:
return re.IsMatch(txtZip.Text);
永远不会执行。
答案 1 :(得分:0)
如果你想检查所有字段应该是字段,然后如果ZIP匹配模式返回 TRUE 否则 FALSE 代码就足够了..
因为你在之前的return语句if / else 是无法访问代码的原因..因为返回将始终具有 true或false 值,因此它将永远不会达到 IF / ELSE 条件..
我认为下面的代码就是你想要的......看看吧......
if (txtFirst.Text.Length < 1 || txtLast.Text.Length < 1 || txtAddress.Text.Length < 1 || txtCity.Text.Length < 1 || txtState.Text.Length < 1)
{
return false;
}
string usZip = @"^\d{5}$|^\d{5}-\d{4}$";
Regex re = new Regex(usZip);
return re.IsMatch(txtZip.Text);