list集合装产生的随机数,再循环集合里的数,如果重复,则产生下一个随机数,当集合数字为6个则跳出
解决方案 »
- 请教字节数组转16进字符串
- DateTime.Now.ToString("yyyy/MM/dd")的问题
- .net web开发求助
- 如何在NET里同一页面里一同的按钮验证不同的TextBox
- 请告诉我自动根据C#源文件生成项目的工具名称好吗?
- C# realplayer控件编程
- C#数组问题
- 求大神指点
- 哪里能找到C#或VB.net关于VBA编程的书?
- 在DataGrid中如何删除列
- 数据库表中的tinyint能不能保存负数,如果不能一般怎么处理
- 调用解决方案另一个项目中的方法时,方法中的ConfigurationManager.ConnectionStrings["ConnStr"]是null
int one = Enumerable.Range(1, 32).Where(x => !six.Contains(x)).OrderBy(x => Guid.NewGuid()).First();
int one = Enumerable.Range(1, 12).Where(x => !six.Contains(x)).OrderBy(x => Guid.NewGuid()).First();
int one = Enumerable.Range(1, 12).Where(x => !six.Contains(x)).OrderBy(x => Guid.NewGuid()).First();第一个32->33,还是被发现了
没买过彩票~
1.假设你现在有1个数组A,里面装的是随机抽取的结果
每次随机出一个数,先遍历一下A,看有没有,有就取这个数+1,再重复判断有没有,有就再+1,直到>33则从1再判断,直到6次都没找到就可以结束了(反正A里最多就6个数)
2.定义个list或者arraylist A,数组B
A里放1-33,B是结果
第1次取值范围0-32,第2次取0-31,以后每次取值比前一次减1
取到的数并不是最终你要的数,而是A的索引,对应这个位置的数才是你要的数,这个是可以一次性取出不重复的数,不必再去遍历判断了.
var red = string.Join("-", Enumerable.Range(1, 33).OrderBy(x => Guid.NewGuid()).Take(6).Select(d => d.ToString()).ToArray());
var blue = string.Join("-", Enumerable.Range(1, 16).OrderBy(x => Guid.NewGuid()).Take(1).Select(d => d.ToString()).ToArray());
MessageBox.Show("本期开奖结果如下红球="+red+"篮球="+blue);
我只是链接的搬运工
http://bbs.csdn.net/topics/390780596