C# 怎么随机选择一个数组

比如我有下面4个数组,我要随机的从4个数组里面取3个数字,要怎么弄?int[]hearts={1,2,3,4,5,6,7,8,9,10,11,12,13};int[]sp... 比如我有下面4个数组,我要随机的从4个数组里面取3个数字,要怎么弄?

int[] hearts = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
int[] spades = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
int[] diamonds = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
int[] clubs = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
展开
 我来答
qilinzd
推荐于2016-08-05 · TA获得超过541个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:337万
展开全部
一个思路, 你自己可以改一改. 添加一个Button控件, 默认name属性为button1, 按照下面的代码调试即可.

把所有数组都添加到一个动态数组中, 然后在这一个动态数组中, 随机出3个数字.
//实例化随机函数
Random rand = new Random();
private void button1_Click(object sender, EventArgs e)
{
int[] hearts = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
int[] spades = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
int[] diamonds = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
int[] clubs = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
//创建动态数组
ArrayList list = new ArrayList();
//循环把4个int[]数组添加到动态数组list中
foreach (int i in hearts)
{
list.Add(i);
}
foreach (int i in spades)
{
list.Add(i);
}
foreach (int i in diamonds)
{
list.Add(i);
}
foreach (int i in clubs)
{
list.Add(i);
}
//按照list的元素数量, 循环随机出三个数: list[随机数]
for (int i = 0; i < 3; i++)
{
MessageBox.Show(list[rand.Next(0, list.Count - 1)].ToString());
}
}
lovemingming
2010-04-23 · TA获得超过4137个赞
知道大有可为答主
回答量:1422
采纳率:0%
帮助的人:1466万
展开全部
int[][] array=new int[][] {hearts,spades,diamonds,clubs};
Random r=new Random();
int[] value=array[r.Next(0,array.Length)];

这个样子就完了,就是你用一个交替数组,把你的数组放在其中,
然后用一个随机函数,去取那个交替数组中的一个随机元素,这样就能获得其中的某一个随机数组了。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友451206a
2010-04-23 · TA获得超过1815个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:475万
展开全部
取三个 0 到 51 之间的随机数

如果随机数 是 0 到 12 之间,则选中的是 heart[随机数]
如果随机数 是 13 到 25 之间,则选中的是 spades[随机数-13]
如果随机数 是 26 到 38 之间,则选中的是 diamonds[随机数-26]
如果随机数 是 39 到 51 之间,则选中的是 clubs[随机数-39]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Wilson
2010-05-07 · TA获得超过189个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:119万
展开全部
楼主:这是原码。你把这些复制到平台上,运行下即可。
Random ran = new Random();
int[] first = new int[] {0,1,2,3,4,5,6 };
int[] sechond = new int[] { 0, 1, 2, 3, 4, 5, 6 };
int[] thrid = new int[] { 0, 1, 2, 3, 4, 5, 6 };
int[] four = new int[] { 0, 1, 2, 3, 4, 5, 6 };
ArrayList array = new ArrayList();
foreach (int i in first)
{
array.Add(i);
}

foreach (int i in sechond)
{
array.Add(i);
}
foreach (int i in thrid)
{
array.Add(i);
}
foreach (int i in four)
{
array.Add(i);
}

int[] num = new int[3];
for (int i = 0; i < num.Length; i++)
{
num[i] = Convert.ToInt32(array[ran.Next(0, array.Count - 1)]);
Console.WriteLine(num[i]);
}
Console.Read();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式