-2
我有2个问题,当我尝试生成随机数,第一个int valor = rdn.Next(10,42);
,当我打电话给这个rdn.Next()生成数字总是10或41,第二个cell = list[rdn.Next(0,lista.Count - 1)];
有时名单将有大小2,但产生数总是0C#随机总是返回最初或最后一个号码
public static List<BlocoUnico> GerarMatriz(BlocoUnico[,] maze)
{
Random rdn = new Random();
List<BlocoUnico> list = new List<BlocoUnico>();
List<BlocoUnico> cellList = new List<BlocoUnico>();
BlocoUnico cell = maze[1, 0];
int valor = rdn.Next(10,42);
for (int i = 0; i < valor; i++)
{
cellList.Add(cell);
list = VerificarBlocos(cell, maze, cellList);
cell = list[rdn.Next(0, list.Count - 1)];
cell.Passou = "*";
list.Clear();
}
return cellList;
}
尝试使用种子... – rmjoia
“有时名单将有大小2,但产生数总是0”。那么是的,因为你调用了'rdn.Next(0,1)',并且上边界是唯一的,所以0是它可以返回的唯一值。 –
至于第一部分 - 我非常怀疑'rdn.Next(10,42)'总是返回10或41.请提供[mcve]。 –