c#编译一个1~32随机选取4个数字,但要求4个数字都不相同,求相应的代码?

{//随机类Randomr=newRandom();//产生一个0~33的数,包括下线不包括上线inti=r.Next(0,33);richTextBox2.Text+=... {
//随机类
Random r = new Random();
//产生一个0~33的数,包括下线不包括上线

int i = r.Next(0, 33);
richTextBox2.Text += i.ToString() + "\t";

int n = r.Next(0, 33);
richTextBox2.Text += n.ToString() + "\t";

........
这样的随机选择会出现数字相同的,怎么避免选了的数字不会再选的?
求修改后可以运行的代码.....
展开
 我来答
是流他15
2012-06-05 · 超过24用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:76.8万
展开全部
List<int> list = new List<int>();
int i;
for (i = 1; i < 33; i++)
{
list.Add(i);
}
Random rand = new Random();
int p;
int[] arr = new int[4]; // 你要的东西保存在这里
for(i = 0; i < 4; i++)
{
p=rand.Next(list.Count);
arr[i] = list[p];
list.RemoveAt(p);
}
追问
那个for(i = 0; i < 4; i++)  运行出来好像0123么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暴击的幸运
2012-06-04 · TA获得超过266个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:187万
展开全部
HashSet<int> set = new HashSet<int>();
Random r = new Random();
while (set.Count < 4)
{
set.Add(r.Next(1, 33));
}
int[] arr = set.ToArray();

arr为所求
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ainidewc123
2012-06-05 · 超过21用户采纳过TA的回答
知道答主
回答量:221
采纳率:0%
帮助的人:91.9万
展开全部
这个问题 其实很简单, 建议你自己好好琢磨
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式