C# Konsol Uygulaması üzerinde bir futbol ligi fikstürü üzerinde çalışıyorum. Evden ve uzakta oynayan takımları içeren diziden rastgele takımlar seçmeye çalışıyorum. 9 rasgele sayı oluşturmaya çalışırken, yalnızca 8 sayı üretiliyor ve 0 değil, bu nedenle kod for döngüsünü kıramaz.C# Rastgele sayı oluşturmuyor 0
int randomHome; //Random number genetator for choosing a random iteration value from home array which containss the teams which plays at their home
int randomAway; //Random number genetator for choosing a random iteration value from awayarray which containss the teams which plays at away
Random randomNum = new Random();
int[] randomHomeNumArray = new int[home.Length]; //array will hold the randomHome values and home array is the array which is holding the team's iteration values which plays at their home
int[] randomAwayNumArray = new int[away.Length]; //array will hold the randomAway values and away array is the array which is holding the team's iteration values which plays at away
for (int homeArrayCounter = 0; homeArrayCounter < randomHomeNumArray.Length; homeArrayCounter++)
{
randomHome = randomNum.Next(home.Length)
if (!randomHomeNumArray.Contains(randomHome))
{
randomHomeNumArray[homeArrayCounter] = randomHome; //It will hold the randomHome values
Console.WriteLine(homeArrayCounter + ". iterasyon in Home " + randomHomeNumArray[homeArrayCounter]);
}
else
{
homeArrayCounter--;
}
}
Console.WriteLine("\n\n");
for (int awayArrayCounter = 0; awayArrayCounter < randomAwayNumArray.Length; awayArrayCounter++)
{
randomAway = randomNum.Next(randomAwayNumArray.Length);
if (!randomAwayNumArray.Contains(randomAway))
{
randomAwayNumArray[awayArrayCounter] = randomAway; //It holds the random valures from away array which contains the teams which plays at away
Console.WriteLine(awayArrayCounter + ". iterasyon in Away " + randomAwayNumArray[awayArrayCounter]);
}
else
{
awayArrayCounter--;
}
}
: Sorun eğer deyimi aynı sayıda ve int dizinin elemanları varsayılan değer Burada
0. kod ve çıkış olduğunu oluşturmak için izin vermediğini olduğunu varsayalım
Ayrıca, Rastgele örneğini bir tohum olmadan oluşturduğunuzu da unutmayın.Rasgele sonuçlar elde etmek için kurucuda bir tohum değeri kullanmalısınız. Rastgele rand = yeni Rastgele (Guid.NewGuid(). GetHashCode()); – CathalMF
@CathalMF Şu anki zamanın kesilmesi neden yeterince rasgele değil? – Rawling
@Rawling Muhtemelen. Az önce StackOverflow'daki Guid olayını bir süre önce gördüm ve o zamandan beri kullanıyordum. – CathalMF