Przeszukiwanie kolekcji

0

Mam kolekcje własnych obiektów o nazwie wiadomości.

Pogladowa klasa Wiadomosci
{
private int id = 0;
private string text = String.Empty;

//itd
}

Tworze listę ( List<Wiadomosci> w = new List<Wiadomosci>();) i dodaje do niej kilka obiektów mojej klasy.
Jak mogę znaleźć w liście Obiekt którego np id= 4 ?

0

użyć gotowych metod z klasy z której twoje cuś dziedziczy?

0

a coś dokładniej? jakiś przykład?

0

Ale co dokładnie znaleźć i w jakiego typu kolekcji?

0

... znalesć obiekt w którym Id jest równe ileś tam .... tak jak napisałem w pytaniu..

0
int szukaneId = 2;
Wiadomosc w = lista.Find(delegate(Wiadomosc wiadomosc) { return wiadomosc.id == szukaneId; });

albo przy użyciu linq

Wiadomosc w = (from wiadomosc in lista where wiadomosc.id == szukaneId select wiadomosc).First();

i wiele innych możliwości. Co ci tam bardziej pasuje.
Swoją drogą, jak klasa Wiadomosc ma mieć tylko int i string to skorzystaj z jakiś wbudowanych typów.

0

wielkie dzięki o to właśnie mi chodziło zaraz przetestuje

[EDIT]
działa pięknie. Dzięki!

0
Samaeel napisał(a)

... znalesć obiekt w którym Id jest równe ileś tam .... tak jak napisałem w pytaniu..

2 minuty po tym, jak zadałem pytanie, wcześniej tego nie było :)

Pozdrawiam.

0

Z serii można też tak:

Pogladowa klasa Wiadomosci
{
              public int ID { get {return id;}}
      private int id = 0;
              public string TEXT {get {return text;}}
      private string text = String.Empty;

//itd
}

List<Wiadomosci> lista = new List<Wiadomosci>;
//dodawanie do kolekcji

//wyszukiwanie
var Wynik = from Wiadomosci w in lista
                   where w.ID = 4
                   select w;

//wyswietlanie
foreach (Wiadomosci w in Wynik)
{
      MessageBox.Show(w.TEXT);
}

0

jak trzymasz id i stringa, to aż się prosi o Dictionary albo HashMap, tam masz indeksowanie na podstawie hasha, czyli odwołujesz się do elementu dictionary[id.ToString()] i już masz stringa, bez zbędnego szukania.

0

dzięki za nowe pomysły. (somekind <- masz racje, przepraszam ;))

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