c# 初次学索引器求解问题 关于索引器和return和get。

classporson{privatestringfirstname="laoda";privatestringsecondname="laoer";publicstri... class porson
{
private string firstname = "laoda";
private string secondname = "laoer";
public string this[int index]
{
set
{
if(index==1)
{
firstname = value;
}
else if(index==2)
{
secondname = value;
}
else if(index > 2 && index < 0)
{
throw new Exception("超出范围:");
}
}
get
{
if (index == 1)
{
return firstname;
}
else if (index == 2)
{
return secondname;
}
else if (index > 2 && index < 0)
{
throw new Exception("超出范围:");
}
}

这是某个类中的索引器,编译的时候编译器指出错误:错误 1 “ConsoleApplication2.porson.this[int].get”: 并非所有的代码路径都返回值 。
这是什么意思?我是按照视频上的代码打的,虽然变量名不一样。难道我的编译器跟视频上的不一样么,我的是vs2013,视频上的是vs2010。我的系统是win8,代码到底该怎么打?

另外求c#很多例题,从简单到复杂的。
展开
 我来答
百度网友47aa747
2014-08-09 · TA获得超过503个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:179万
展开全部
很简单,就是有个路径没返回值
else if(index > 2 && index < 0)
{
throw new Exception("超出范围:");
}
这句后面,加上 throw new Exception("超出范围:");即可。
而且这句index > 2 && index < 0也不可能成立,应该改成
index > 2 || index < 0
追问
“这句后面,加上 throw new Exception("超出范围:");即可。“,这句话是什么意思?
追答
大哥程序都告诉你路径不全了,要包含所有路径啊。
比如这句
if(x>0){retrun 0;}
x>0的时候是返回0了,如果x0){retrun 0;}
if(x0){retrun 0;}
else{retrun 0;}
或者
if(x>0){retrun 0;}
retrun 0;
你的程序最后一个if没有else和他配对,系统认为你路径不全啊。
你基础也太差了,函数都没学会还看索引器。
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
天涯路易2011
2014-08-09 · TA获得超过263个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:247万
展开全部
if (index == 1)
{
return firstname;
}
else if (index == 2)
{
return secondname;
}
else if (index > 2 && index < 0)//看到没有,这里是else if而不知else
{
throw new Exception("超范围:");
}
//把最后的else if 改为 else
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式