Trække tal fra array

Tags:    c#

Jeg er rimelig ny i C#, sidder og skal lave så at jeg kan trække tal fra 1-90, det går også ok, men man må IKKE kunne trække de samme tal, det må kun trækkes en gang. Indtil videre har jeg følgene kode, nogen der kan fortælle mig hvordan jeg gør så jeg kun kan trække det samme tal en gang??

public class Class1
{
int[] DrawNumber = new int[90];

Random random = new Random();

public int Bingo()
{
bool bGyldig = true;
int i = 0;
while (bGyldig)
{
i = random.Next(1, 91);

foreach (int z in DrawNumber)
{
if (i == z) bGyldig = false;
DrawNumber = i;
}
}
return i;
}

}




Hej,

Jeg ville nok i stedet fx gøre følgende:
Fold kodeboks ind/udKode 




Hov, delegatet er lidt forkert - det tager ikke højde for at IComparable skal returnerer 0 hvis den sammenlignede værdi er den samme - dette skulle kunne gøre det:
Fold kodeboks ind/udKode 




Det ser fint ud, men jeg kan ikke rigtig få den til at trække et tal af gangen, meningen er de skal trækkes en ad gangen og vises i en listbox som de trækkes til, hvis du forstår...



Jeps, det er jeg med på.

foreach-løkken udskriver jo bare listen. Efter der er kørt en Sort på listen, er den jo som den skal være. Så du kan jo bare iterere over elementerne. Fx ved tryk på en knap kan der smides det næste element i listview (du kan bruge antallet af elementer i listviewet som index til det, der skal tilføjes fra listen da første index jo som bekendt er 0).



Hmm nu får jeg følgende fejl når jeg prøver bruge den anden stump kode du sendte:

IComparer (or the IComparable methods it relies upon) did not return zero when Array.Sort called x. CompareTo(x). x: '5' x's type: 'Int32' The IComparer: 'System.Array+FunctorComparer`1[System.Int32]'.

Min kode ser sådan ud:
Fold kodeboks ind/udKode 




Du skal ikke køre Sort inde i løkken - den skal du først køre efter listen er fyldt med for-løkken (og du skal ikke sætte ; ved }'er som du har gjort ved afslutningen på for-løkken; du kan godt, men så angiver du egentlig bare et udtryk).



Ohh, se det hjalp :)

Er Rookie endnu :)



Det var godt, det hjalp :-)



Og husk lige at bruge lidt tid på at forstå den Sort-funktion (med IComparer<T> og evt. også delegates), så ikke det udelukkende er klippe og klistre. Og spørg endelig, hvis der er noget af det, du ikke forstår (efter at have prøvet ;-)).



t