Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal estou fazendo alguns exercício para exercitar a lógica de programação um deles é seguinte olha só "1 - Criar uma função de MEGASENA, que retorne um array com 6 dezenas aleatórias entre 1 e 60, atentando que os números nunca se repitam e que estejam na ordem crescente. " bom fiz da seguinte maneira mas nao estou conseguindo mostrar o numeros na listbox.
private List<Int32> listaNumeros = new List<Int32>();
static List<Int32> megasena(int min, int max)
{
Random number = new Random();
var listaNumeros = new List<Int32>();
int var = new int();
for (int i = 1; i <= 6; i++)
{
var = number.Next(min, max);
listaNumeros.Add(var);
}
return listaNumeros;
}
private void MegaSenaBottun_Click(object sender, EventArgs e)
{
var mega = megasena(0, 61);
listBox1.Items.Add(mega.ToList());
}como faço para ordernar minha lista teria um exemplo por favor?
Consegui olha o código como ficou?
static int[] megasena(int quantidade,int min, int max)
{
List<int> numerosSorteados = new List<int>();
Random rnd = new Random();
while (numerosSorteados.Count < quantidade)
{
int numeroSorteado = rnd.Next(min, max + 1);
// Número já foi sorteado? Então sorteamos novamente até o número não ter sido sorteado ainda.
while (numerosSorteados.Contains(numeroSorteado))
{
numeroSorteado = rnd.Next(min, max + 1);
}
numerosSorteados.Add(numeroSorteado);
}
return numerosSorteados.ToArray();
}
private void MegaSenaBottun_Click(object sender, EventArgs e)
{
var mega = megasena(6, 0, 61);
foreach (int n in mega)
{
listBox1.Items.Add(n);
}
}Legal!!
Eu particularmente prefiro usar FOR ao invés de WHILE. Mas tem pouca diferença:
http://stackoverflow.com/questions/552766/for-and-while-loop-in-c-sharp
Se tiver tempo e quiser praticar, acredito que consegue LINQ pra simplificar muito desses LOOPS.
eu tinha feito fiz os dois com for e com While e quase a mesma coisa
Se não me engano, listbox tem um método chamado AddRange, que você passa uma lista e ele adiciona, ai não precisa fazer esse foreach;
E pra ordenar uma lista, só usar método de extensão Sort.
Isso por que o método Add recebe uma string, ou seja, um único item. Nesse caso você teria que usar um for or foreach e pra cada item da sua listaNumeros você adiciona no listbox.