Przeszukiwanie listy

0

Witam!

Mam taką oto liste:

List<Kropka> kropki = new List<Kropka>();

,która przechowuje kilka obiektów klasy "Kropka" z polem Point i Color.

Oto ta klasa:

    class Kropka
    {
        private Point wspolrzedne;
        private Color kolor;

        public Kropka(Point wsp, Color kol)
        {
            wspolrzedne = wsp;
            kolor = kol;
        }
    }

Kiedy dodaję element do tej listy:

kropki.Add(new Kropka(new Point(x,y), kolorGracza1));

chcę sprawdzać czy taki element już tam istnieje - chcę to sprawdzać po przez pole Point, czyli czy taki punkt został już zapisany w liście.

Nie mam pojęcia jak to zrobić i czy w ogóle da się to zrobić.
Proszę o pomoc i sorki za jakieś niejasności ale dopiero się uczę :)
Pozdro

0
bool exists = kropki.Exists((Kropka kropka) => { return (kropka.wspolrzedne == new Point(1, 2)) ? true : false; });

Tylko musisz w jakiś sposób upublicznić te współrzędne. Poprzez właściwość albo zmianę private na public.

0
Rev.pl napisał(a)
bool exists = kropki.Exists((Kropka kropka) => { return (kropka.wspolrzedne == new Point(1, 2)) ? true : false; });

Tylko musisz w jakiś sposób upublicznić te współrzędne. Poprzez właściwość albo zmianę private na public.
To wyrażenie można prościej zapisać:

bool exists = kropki.Exists(kropka => (kropka.wspolrzedne == new Point(1, 2)));
0

Dzięki bardzo [!!!]

0

Mam kolejny problem:
Chodzi mi teraz o to aby, przy kliknięciu myszą sprawdzić czy punkt klikniecia (x,y) znajduje się już w liście "kropki" i jeśli TAK, to czy dla tego punktu, wartość pola Color ma wartość Red.

Pomocy ;-(

0

Dopisać && kropka.kolor ==Color.Red ?

0
adf88 napisał(a)

To wyrażenie można prościej zapisać:

bool exists = kropki.Exists(kropka => (kropka.wspolrzedne == new Point(1, 2)));

możecie mi wytłumaczyć ową konstrukcję? nie spotkałem się z zapisaem "=> " a wygłada to ciekawie.

0

Poczytaj o Lambda Expressions.

0

a jak ktoś chce się dalej pobawić ;) to za "Lambda Expressions" tuż za rogiem jest "Linq" :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1