私はC#Consoleアプリケーションのサッカーリーグフィクスチャプロジェクトに取り組んでいます。 私は自宅で離れて遊んでいるチームを含むアレイからランダムなチームを選んでいます。 9つの乱数を生成しようとすると、8つの数字しか生成されず、0は生成されないので、コードはforループを解除できません。 私は問題はif文は、同じ番号を生成することはできませんし、int型の配列の要素のデフォルト値は、ここで0C#乱数が生成されない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--;
}
}
また、シードなしでランダムインスタンスを生成していることにも注意してください。ランダムな結果を保証するには、コンストラクタでシード値を使用する必要があります。ランダムなrand =新しいランダム(Guid.NewGuid()。GetHashCode()); – CathalMF
@CathalMFなぜ現在の時刻をランダムに入れないのですか? – Rawling
@ Rawlingおそらくそうです。私はちょっと前にStackOverflowでGuidのことを見て以来、それを使ってきました。 – CathalMF