w ASP.NET C# Mam struct:wybrać kilka pól z listy w Linq
public struct Data
{
public int item1;
public int item2;
public int category_id;
public string category_name;
}
i mam listę tych. Chcę wybrać category_id
i category_name
, uruchamiając DISTINCT
i ostatecznie ORDERBY
na category_name
.
Oto co mam teraz:
List<Data> listObject = getData();
string[] catNames = listObject
.Select(i=> i.category_name)
.Distinct()
.OrderByDescending(s => s)
.ToArray();
To oczywiście tylko dostaje nazwę kategorii. Moje pytanie brzmi: w jaki sposób mogę uzyskać wiele pól i jaką strukturę danych przechowuję (nie string[]
)?
EDIT
Korzystanie listę elemencie nie jest ustawione w kamieniu. Jeśli byłoby wskazane, aby zmienić strukturę moich danych, aby ułatwić wybór (wiele z nich piszę), to chętnie przyjmę zalecenia.
Chociaż to niezwiązane ze stroną LINQ, zdecydowanie * nie zalecałbym używania zmiennych struktur lub pól publicznych. Osobiście rzadko tworzyłem struktury, ale zmienne struktury tylko proszą o kłopoty. –
@Jon Skeet Dzięki. Zamienię go na regularną klasę z członkami prywatnymi. – Chet
@Jon Skeet Dlaczego? – Midhat