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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑丹丹1990 中级黑马   /  2013-4-24 14:44  /  1277 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郑丹丹1990 于 2013-4-25 08:22 编辑
  1. static void GetRandomNumber(out int[] counts, out List<int> intArray)
  2.         {
  3.             Random ran = new Random();
  4.             int i = 0;
  5.             while (i <= 100) {
  6.              //产生随机数
  7.                 int num = ran.Next(0, 6);
  8.                 intArray.Add(num);
  9.                 //统计出现次数
  10.                 counts[num - 1]++;
  11.                 i++;
  12.             }
  13.            
  14.         }
复制代码
错误        1        使用了未赋值的 out 参数“intArray”        E:\Visual c#2008核心编程\exam\test10\Program.cs        32        17        test10
错误        4        控制离开当前方法之前必须对 out 参数“intArray”赋值        E:\Visual c#2008核心编程\exam\test10\Program.cs        25        21        test10

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

8 个回复

倒序浏览
沙发。  我回帖是为了学技术。
回复 使用道具 举报
你程序里是不是没给后面那个参数传值了啊
回复 使用道具 举报
黄兴旺 发表于 2013-4-24 15:09
沙发。  我回帖是为了学技术。

我回贴是为了经验和金币
回复 使用道具 举报
问题是我们有初始化。

  1. static void GetRandomNumber(out int[] counts, out List<int> intArray)
  2.         {
  3.    counts=new int[];
  4. intArray=new List<int>;
  5.             Random ran = new Random();
  6.             int i = 0;
  7.             while (i <= 100) {
  8.              //产生随机数
  9.                 int num = ran.Next(0, 6);
  10.                 intArray.Add(num);
  11.                 //统计出现次数
  12.                 counts[num - 1]++;
  13.                 i++;
  14.             }
  15.            
  16.         }
复制代码
回复 使用道具 举报
counts=new int[];  这你都没给数组定义长度,就是你定义了长度,到下面你执行counts[num-1]++也会出错,因为你根本没法保证你的num数字就一定在你定义的数组范围内;
intArray=new List<int>;这句后面是要加括号的哦;

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
而且你也没给counts数组赋相对应的值,你就算可以执行,那每一次出来的结果不是0就是1,你这样做也没什么意义
回复 使用道具 举报
杜磊 中级黑马 2013-4-24 20:20:49
8#
首先你写这个方法,必是为了某处调用这个方法。
out是值传递,所以你在方法内部为这个out出去的变量赋了值,在外部你引用此方法的时候,也要对接收的这个变量赋值。
你可能是外部调用这个方法的时候没有给变量赋初始值,才会有你说的错误。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
高文咪 发表于 2013-4-24 16:19
counts=new int[];  这你都没给数组定义长度,就是你定义了长度,到下面你执行counts[num-1]++也会出错,因 ...

初始化是手动敲上了,没在vs里,手误!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马