-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]。 –