1
static Random r = new Random();

public static int Randfunc(int start, int end)
{
    List<int> numbers = new List<int>();
    int n = r.Next(start, end);
    return n;
}
Daniyal
  • 31
  • 5
  • 2
    You do nothing to keep track of the numbers you already generated, at least not in this code. – rene Dec 12 '17 at 11:12
  • You want to avoid repeating last number twice or store each number once? – FCin Dec 12 '17 at 11:13
  • 1
    Why would it be prohibited to generate the same number multiple times randomly? It might also give you 1, 1, 1, 1, 1, 1, 1. – Peit Dec 12 '17 at 11:14
  • 4
    Possible duplicate of [Generating random, unique values C#](https://stackoverflow.com/questions/14473321/generating-random-unique-values-c-sharp) – rene Dec 12 '17 at 11:14
  • 3
    Yeah, if you ban repeating numbers, then it's not random any more. –  Dec 12 '17 at 11:15
  • 4
    Sounds like you need a [shuffled list](https://stackoverflow.com/questions/273313/randomize-a-listt) instead. – Sinatr Dec 12 '17 at 11:21

1 Answers1

-1

Try something like that;

        var start = 0;//Min range of numbers
        var end = 1000;//Max range of numbers
        int i = 0;
        Random random = new Random();
        var numbers = new HashSet<int>();
        while(i < 100)//Collect 100 unique numbers
        {
            var number = random.Next(start, end);
            if (!numbers.Contains(number))
            {
                numbers.Add(number);
                i++;
            }
        }
lucky
  • 12,734
  • 4
  • 24
  • 46