public static string aa(string a)
{
if (a == "")
{
MessageBox.Show("请输入。。。");
return null;
}
else
{
string[] split = Regex.Split(a, ";", RegexOptions.IgnoreCase);
foreach (string s in split)
{
return s;
}
}
}
}
我写了这样一个方法,提示并非所有的代码路径都返回值,求解。。。怎样改代码?
foreach 里面的return 貌似只是跳出了 foreach循环
else里并没有返回值, 需要在else 里增加return 语句.
这个方法是要求有返回的值得,是一个String类型的值,那么你的代码里面就必须是每一条执行的路径都有值的返回。
而在这段代码里面,虽然逻辑上是不会出现没有返回值的情况,但是编译器会判断出当split为空的时候,程序执行不到return的地方。所以应该再else里面的代码的最后加上一句 return "";
public static string aa(string a)
{
if (a == "")
{
MessageBox.Show("请输入。。。");
return null;
}
else
{
string[] split = Regex.Split(a, ";", RegexOptions.IgnoreCase);
foreach (string s in split)
{
return s;
}
}
}
}
public static string aa(string a)
{
if (a == "")
{
MessageBox.Show("请输入。。。");
return null;
}
else
{
string[] split = Regex.Split(a, ";", RegexOptions.IgnoreCase);
foreach (string s in split)
{
return s;
}
return "";
}
}
}
抱歉,代码贴错了。以上才是我要贴的。
public static string aa(string a)
{
if (a == "")
{
MessageBox.Show("请输入。。。");
return null;
}
else
{
string[] split = Regex.Split(a, ";", RegexOptions.IgnoreCase);
foreach (string s in split)
{
return s;
}
}
return null;
}
我