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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王伟 黑马帝   /  2011-11-11 20:27  /  2364 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么在一个方法中回传两个返回值

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

4 个回复

倒序浏览
在参数中使用OUT 可以达到这个效果

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
对于多个返回值,可以考虑将这个两个值封装到一个结构体或类中.可以使用数组 ArrayList
当然返回的方法至少有好几种办法:
1.   result1   function(ref   result2);
2.   result1   function(out   result2);
3.   void   function   (ref   result1,ref   result2);
4.   void   function(ref   result1,   out   result2);
5.   void   function(out   result1,ref   result2);
6   void   function(out   result1,out   result2);
其中ref可以用于传值到函数内部,out仅用于传出。

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
朱勋 黑马帝 2011-11-12 15:38:05
板凳
写个类
返回类类型
类里面可包含多个数据,试试,不知道行不?

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
使用out关键字, 在方法外部声明你要赋值的变量,声明时不必赋值.
在方法的参数列表中在传入的参数前加out关键字,就可以传回你要得到的两个变量的值,注意调用这个方法时参数也要加out关键字.
如  int i;
     int j;
     GetNum(out i,out j)    //调用这个方法时传的是引用,方法执行玩之后i和j分别别赋值为 10和20
   public  void  GetNum(out int i,out int j)
       {
             i=10;               //必须为i和j赋值,否则会出错
             j=20;
       }

评分

参与人数 1技术分 +1 收起 理由
陈涛 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马