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;
}
            Asked
            
        
        
            Active
            
        
            Viewed 485 times
        
    1
            
            
        
        Daniyal
        
- 31
- 5
- 
                    2You 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
- 
                    1Why 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
- 
                    4Possible 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
- 
                    3Yeah, if you ban repeating numbers, then it's not random any more. – Dec 12 '17 at 11:15
- 
                    4Sounds like you need a [shuffled list](https://stackoverflow.com/questions/273313/randomize-a-listt) instead. – Sinatr Dec 12 '17 at 11:21
1 Answers
-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