A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张振 中级黑马   /  2013-3-30 16:53  /  1844 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张振 于 2013-4-1 20:20 编辑

截取了索引器代码的一小部分 主要问题是 给我return的报错
public string this[int index]
        {
            get
            {
                if (index == 1)
                { return FirstN ; }
                else if (index == 2)
                { return SecondN; }
               
            }
            set
            {
                if (index == 1)
                { FirstN=value; }
                else if (index == 2)
                { SecondN = value; }
                else
                { }
运行之后它出现了错误        1        “索引器.Person.this[int].get”: 并非所有的代码路径都返回值        
请问各位这是啥意思啊 怎么解决

9 个回复

倒序浏览
public string this[int index]
这是你的方法吗?而且方法名还用了this关键字...
如果是方法,方法名不能用java中关键字,而且格式是方法名()
回复 使用道具 举报
ge属性必须有返回值,你可以这样尝试:
  1. get
  2.             {
  3.                 string str = "";
  4.                 if (index == 1)
  5.                 { str = FirstN; }
  6.                 else if (index == 2)
  7.                 { str = SecondN; }
  8.                 return str;
  9.             }
复制代码
回复 使用道具 举报
_王涛 发表于 2013-3-30 17:11
public string this
这是你的方法吗?而且方法名还用了this关键字...
如果是方法,方法名不能用java中关键 ...

还有,你的返回类型首字母因该大写,String
回复 使用道具 举报
_王涛 发表于 2013-3-30 17:11
public string this
这是你的方法吗?而且方法名还用了this关键字...
如果是方法,方法名不能用java中关键 ...

这是索引器···
回复 使用道具 举报
很显然set没有返回值
回复 使用道具 举报
你的set哪个部分,好像丢了个"}"这个符号。你写的方法实在是..
我真的看不懂啊...
我怎么给你解决呢
回复 使用道具 举报
{:soso_e132:}
回复 使用道具 举报
张振 中级黑马 2013-3-30 20:19:36
9#
似水像火 发表于 2013-3-30 18:23
你的set哪个部分,好像丢了个"}"这个符号。你写的方法实在是..
我真的看不懂啊...
我怎么给你解决呢 ...

哦 不好意思 我只是截取了错误的一段 不过后来我懂了 好像是return返回值 我编写的这个代码返回值会有不符合 int的赋值  所以出现 了我说的这个错误
回复 使用道具 举报
原因:你写的get属性,只有等于1或2的时候有return返回值。
解决:在get属性里,再添加else处理即可。如:
            get
             {
                 if (index == 1)
                 { return FirstN ; }
                 else if (index == 2)
                 { return SecondN; }
                 else
                 { return "";}
             }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马