27. april 2008 - 12:56Der er
5 kommentarer og 1 løsning
Betingelse i If sætning
Hej,
nogen som ved hvordan jeg sikrer mig at to ens objekter ikke bliver tilføjet til listen.
I mit eksempel kører denne kode hvor gang brugen klikker på et element(Dato) i min ListBox
// Finder ledige flasker List<string> sub_Ledige_Flaskeliste = new List<string>();
foreach (Flaske en_flaske in Flaskeliste) //lav subliste af dem som er true og false og udskriv dem i to forskellige lister if ((en_flaske._flaskeledig(dt)) == true) { sub_Ledige_Flaskeliste.Add(en_flaske.PropertyFlaskeID); }
men tror jeg skal have et "filter" i denne sætning så jeg ikke får to ens, hvis nu brugeren går tilbage til den samme dato i ListBoxen.
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
ok, er det muligt at sortere et HashSet, så hvis den indeholder Datoer, så bliver de indsat i rigtig rækkefølge i settet? eller skal jeg så bruge en hægtetliste?
Er det muligt at sætte betingelsen ind i en alm. ListBox med Items.Add?
HashSet bruger vel at mærke objektets hash til at undgå dubletter. Hvis du opretter to objekter der er ens i den forstand at f.eks. din propertyFlaskeID er den samme kan du sagtens tilføje dem til samme HashSet. Det kan du kun løse med en eller anden if sætning.
Ellers er Arnes løsning fin, og du kan let lave et HashSet, konvertere det til en List og og sortere det:
HashSet<Flaske> flasker = new HashSet<Flaske>(); flasker.Add(...); falsker.ToList().Sort((f1, f2) => f1.PropertyFlaskID.CompareTo(f2.PropertyFlaskeID));
Undskyld hvis der er slåfejl. Hvis din PropertyFlaskID er en int så kan du i stedet for CompareTo bare bruge < eller > alt efter hvordan du vil have dem sorteret.
tak for hjælpen, og johnys kode virker som jeg havde håbet..
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.