She*_*ian 15 .net c# arrays random collections
可能重复:
访问列表中的随机项
我有一个数字数组,我想从这个数组中获取随机元素.例如:{0,1,4,6,8,2}.我想选择6并将此数字放在另一个数组中,新数组将具有值{6,....}.
我使用random.next(0,array.length),但这给出了一个随机数的长度,我需要随机数组.
for (int i = 0; i < caminohormiga.Length; i++ )
{
if (caminohormiga[i] == 0)
{
continue;
}
for (int j = 0; j < caminohormiga.Length; j++)
{
if (caminohormiga[j] == caminohormiga[i] && i != j)
{
caminohormiga[j] = 0;
}
}
}
for (int i = 0; i < caminohormiga.Length; i++)
{
int start2 = random.Next(0, caminohormiga.Length);
Console.Write(start2);
}
return caminohormiga;
Run Code Online (Sandbox Code Playgroud)
Til*_*lak 19
我使用random.next(0,array.length),但这给出了随机数的长度,我需要随机数组.
使用random.next(0, array.length)as作为索引的返回值从中获取值array
Random random = new Random();
int start2 = random.Next(0, caminohormiga.Length);
Console.Write(caminohormiga[start2]);
Run Code Online (Sandbox Code Playgroud)
Set*_*ers 19
洗牌
int[] numbers = new [] {0, 1, 4, 6, 8, 2};
int[] shuffled = numbers.OrderBy(n => Guid.NewGuid()).ToArray();
Run Code Online (Sandbox Code Playgroud)
您只需使用随机数作为数组的引用:
var arr1 = new[]{1,2,3,4,5,6}
var rndMember = arr1[random.Next(arr1.Length)];
Run Code Online (Sandbox Code Playgroud)