Generating random numbers without repeating.C#

前端 未结 11 1884
臣服心动
臣服心动 2020-12-01 17:53

Hi everyone I am trying to generate 6 different numbers on the same line in c# but the problem that i face is some of the numbers are repeating on the same line.Here is my c

11条回答
  •  旧时难觅i
    2020-12-01 18:05

    Check each number that you generate against the previous numbers:

    List listNumbers = new List();
    int number;
    for (int i = 0; i < 6; i++)
    {
      do {
         number = rand.Next(1, 49);
      } while (listNumbers.Contains(number));
      listNumbers.Add(number);
    }
    

    Another approach is to create a list of possible numbers, and remove numbers that you pick from the list:

    List possible = Enumerable.Range(1, 48).ToList();
    List listNumbers = new List();
    for (int i = 0; i < 6; i++)
    {
      int index = rand.Next(0, possible.Count);
      listNumbers.Add(possible[index]);
      possible.RemoveAt(index);
    }
    

提交回复
热议问题