private int index(string name)
{
for (int i = 0; i < stus.Count; i++)
{
if (stus[i].StuName.Equals(name))
{
return 1;
}
}
}
说明:以上代码是一个通过指定姓名name,在名为stus的泛型集合中用for循环查找集合中是否存在这样的一个人。如果存在则返回1。我上面写的东西在编编译的时候报错说:并非所有的代码路径都有返回值。问题:要想返回我想要的结果,应该怎么改动,希望能详细讲解return的用法。
{
for (int i = 0; i < stus.Count; i++)
{
if (stus[i].StuName.Equals(name))
{
return 1;
}
}
}
说明:以上代码是一个通过指定姓名name,在名为stus的泛型集合中用for循环查找集合中是否存在这样的一个人。如果存在则返回1。我上面写的东西在编编译的时候报错说:并非所有的代码路径都有返回值。问题:要想返回我想要的结果,应该怎么改动,希望能详细讲解return的用法。
{
for (int i = 0; i < stus.Count; i++)
{
if (stus[i].StuName.Equals(name))
{
return 1;
}
} return 0;
}
因为你没有考虑不能找到的情况,所以说“并非所有路径都有返回值”
你只考虑了if(true)的情况,没有考虑if(false)时返回什么值
return stus.Contains();
return stus.Contains(name);
以后写代码的时候请尽量考虑你的代码要处理的过程,vs这个提示是很好的,试想一下,某些被我们用来检测一些关键条件的函数在某些时间并不能返回我们想要的东西,那么在程序发布后将会出现多少我们预处理之外的现象。