/// <summary>
/// Método para gerar n números aleatórios sem repetição
/// </summary>
/// <param name="begin"></param>
/// <param name="end"></param>
/// <param name="quantity"></param>
/// <returns></returns>
/// <example>
/// <code>
/// <![CDATA[
/// ArrayList numbers = RandomNumbers(500000, 700000, numero);
/// for (int i = 0; i < numbers.Count; i++)
/// {
/// Console.WriteLine(numbers[i]);
/// }
/// ]]>
/// </code>
/// </example>
public static ArrayList RandomNumbers(int begin, int end, int quantity)
{
// cria um objeto da classe Random
Random rnd = new Random();
// vamos preencher um ArrayList com a faixa de números
ArrayList values = new ArrayList();
for (int i = begin; i < end; i++)
{
values.Add(i);
}
// Vamos embaralhar o ArrayList
for (int i = 0; i < values.Count; i++)
{
int aux = rnd.Next(values.Count);
object temp = values[i];
values[i] = values[aux];
values[aux] = temp;
}
// Retorna o array e números obtidos
return values.GetRange(0, quantity);
}
Nenhum comentário:
Postar um comentário