求讲解 求带注释的实例 作者: baoshouying 时间: 2013-7-7 23:31
List<int> ls = new List<int>();
Random rd = new Random(unchecked((int)DateTime.Now.Ticks));//创建一个随机对象与指定的种子。
int num = rd.Next(1, 100);//得到 1-100的整数(但是得不到100)
bool hasNum = false;//开始时 集合中没有重复的数
foreach (int i in ls)
{
if (i == num)//得到随机数与集合中的重复
{
hasNum = true;
}
}
if (!hasNum)
{
ls.Add(num);
}
Console.WriteLine(num);
Console.ReadLine();作者: ﹏Lifeヽ 时间: 2013-7-8 08:55 本帖最后由 ﹏Lifeヽ 于 2013-7-8 09:02 编辑
用一个字典,利用字典的键的唯一性,这样的随机数不会重复:废话不多说,上代码:
Dictionary<int, int> dir = new Dictionary<int, int>();
Random r = new Random();
int min=1;
int max=9;
int N = 0;
while (N < max )
{
N++;
int a = r.Next(min, max);//产生的随机数是大于等于min小于max,//定义变量a接收产生的随机数
if (dir.ContainsKey(a))//如果包含相同点 键,则跳出去执行下一次循环
{
continue;
}
dir.Add(a, a);//如果没有相同的建 则 加入字典dir
}
foreach (KeyValuePair<int, int> key in dir)//最后使用KeyValuePair(定义或设置可检索的键值对)用foreach遍历输出字典dir的键//取值用的时候也可用这个方法~
{
Console.Write(key.Key+" ");
}
Console.ReadKey();