黑马程序员技术交流社区
标题:
创建索引器出错
[打印本页]
作者:
y494890511
时间:
2013-11-9 08:36
标题:
创建索引器出错
本帖最后由 y494890511 于 2013-11-12 08:47 编辑
错误 1“索引器.Person.this[int].get”: 并非所有的代码路径都返回值 D:\C#学习\面向对象\索引器\Program.cs25 13 索引器
public string this[int index]
{
get
{
if (index==1)
{
return FirstName;
}
else if(index==2)
{
return SecondName;
}
}
set
{
if (index == 1)
{
FirstName = value;
}
else if(index==2)
{
SecondName = value;
}
else
{
throw new Exception("错误的序号");
}
}
}
作者:
hourglass
时间:
2013-11-9 08:41
如果index既不等于1也不等于2,那么就不会返回任何值了。
作者:
dashanren
时间:
2013-11-9 09:34
要所有可能的情况都有return 。否则检测到不符合的情况就无法 return了。你只是列出了1和2二种情况,还有很多情况的值没有返回值。
作者:
凤凰涅槃
时间:
2013-11-9 12:14
你的get代码做如下更改即可 ,我这里只是提供一个思路,仅供参考。。。。。。
get
{
if (index == 1)
{
return FirstName;
}
else if (index == 2)
{
return SecondName;
}
else
{
return FirstName;//默认返回值--防止用户非法输入造成程序异常
}
}
复制代码
作者:
凤凰涅槃
时间:
2013-11-9 12:23
刚才测试了一把,发现你的set方法else语句也可以修改下,最好不要抛异常,这样程序不友好,仅供参考
set
{
if (index == 1)
{
FirstName = value;
}
else if (index == 2)
{
SecondName = value;
}
else
{
Console.WriteLine("你输入索引下标错误,只能输入(1 or 2)");
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2