Skip to main content
Notice removed Canonical answer required by Kao
Bounty Ended with rolfl's answer chosen by Kao
Question Protected by 200_success
Notice added Canonical answer required by Kao
Bounty Started worth 100 reputation by Kao
Tweeted twitter.com/#!/StackCodeReview/status/505263746231828480
deleted 37 characters in body
Source Link
Jamal
  • 35.2k
  • 13
  • 134
  • 238

I want to generate a list of N different random numbers.

I'm doing this in a following way:

public static List<int> GetRandomNumbers(int count)
{
    List<int> randomNumbers = new List<int>(); 
    
    for (int i=0; i<count; i++) 
    {    
        int number;
        
        do number = random.Next();
        while (randomNumbers.Contains(number));
        
        randomNumbers.Add(number);
    }
        
    return randomNumbers;
}

But I feel there is a better way. Especially this This do...while loop especially makes this ugly. Any suggestions on how to improve this?

I want to generate a list of N different random numbers.

I'm doing this in a following way:

public static List<int> GetRandomNumbers(int count)
{
    List<int> randomNumbers = new List<int>(); 
    
    for (int i=0; i<count; i++) 
    {    
        int number;
        
        do number = random.Next();
        while (randomNumbers.Contains(number));
        
        randomNumbers.Add(number);
    }
        
    return randomNumbers;
}

But I feel there is a better way. Especially this do...while loop makes this ugly. Any suggestions how to improve this?

I want to generate a list of N different random numbers:

public static List<int> GetRandomNumbers(int count)
{
    List<int> randomNumbers = new List<int>(); 
    
    for (int i=0; i<count; i++) 
    {    
        int number;
        
        do number = random.Next();
        while (randomNumbers.Contains(number));
        
        randomNumbers.Add(number);
    }
        
    return randomNumbers;
}

But I feel there is a better way. This do...while loop especially makes this ugly. Any suggestions on how to improve this?

edited title
Link
Simon Forsberg
  • 59.7k
  • 9
  • 160
  • 312

How to generate different Generate random numbers? without repetitions

Source Link
Kao
  • 2.4k
  • 4
  • 22
  • 35

How to generate different random numbers?

I want to generate a list of N different random numbers.

I'm doing this in a following way:

public static List<int> GetRandomNumbers(int count)
{
    List<int> randomNumbers = new List<int>(); 
    
    for (int i=0; i<count; i++) 
    {    
        int number;
        
        do number = random.Next();
        while (randomNumbers.Contains(number));
        
        randomNumbers.Add(number);
    }
        
    return randomNumbers;
}

But I feel there is a better way. Especially this do...while loop makes this ugly. Any suggestions how to improve this?