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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 782385854 中级黑马   /  2013-10-23 19:17  /  1398 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 782385854 于 2013-10-31 10:03 编辑

用dictionary配对random随机么是?突然想起以前上课的时候老师就是拿这点名的想试试,大哥指点下?

4 个回复

倒序浏览
本帖最后由 黑色海 于 2013-10-23 19:36 编辑

dictionary中的键和值是对应的,根据    1---人数上限x     把全班的人名添加进入,然后再根据随机数的键读取值。
注意上线是总人数加1
回复 使用道具 举报
我用控制台做了一个,你可以参考:
public class Test
{
    public static string GetRandomName(params string[] names)
    {
        Random rd = new Random(DateTime.Now.Millisecond);
        return names[rd.Next(0, names.Length)];
    }
   
    //主函数
    public static void Main(String[] args)
    {
        //测试:
        Console.WriteLine(GetRandomName("张三", "李四", "王五", "赵六"));
    }
}

只给了个思路 你要继续去完善一下  

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
如问题得到解决,请及时把分类修改为"已解决",这样版主才能给你加分!黑马有你更精彩!
回复 使用道具 举报
本帖最后由 haxyek 于 2013-10-31 10:09 编辑

把姓名和键值对应好,然后进行随机取值,取出来的值显示出来,并且移除这个值,然后再随机取值,周而复始,循环 字典个数次。
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Collections;

  6. namespace 点名
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             string[] lists = { "StuA", "StuB", "StuC", "StuD", "StuE", "StuF" };
  13.             var list = new ArrayList();
  14.             foreach (string tmp in lists)
  15.             {
  16.                 list.Add(tmp);          //在list里装载数组。
  17.             }
  18.             Console.WriteLine("Pass any key to Start");
  19.             Console.ReadKey(true);

  20.             for (int i = 0; i < lists.Length; i++)
  21.             {
  22.                 Random r = new Random();
  23.                 int Num=r.Next(list.Count);
  24.                 Console.WriteLine(list[Num]);
  25.                 list.Remove(list[Num]);
  26.                 Console.WriteLine("按任意键选择下一个。");
  27.                 Console.ReadKey(true);
  28.             }
  29.             Console.WriteLine("pass any key to exit");
  30.             Console.ReadKey(true);
  31.         }
  32.     }
  33. }
复制代码

评分

参与人数 1技术分 +3 收起 理由
茹化肖 + 3

查看全部评分

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