Wählen Sie Mehrere Felder aus der Liste in Linq

In ASP.NET C # habe ich eine Struktur:

public struct Data
{
    public int item1;
    public int item2;
    public int category_id;
    public string category_name;
}

und ich habe eine Liste davon. Ich möchte auswählencategory_id undcategory_nameLaufen aDISTINCT und schließlich einORDERBY aufcategory_name.

Folgendes habe ich jetzt:

List<Data> listObject = getData();
string[] catNames = listObject
                    .Select(i=> i.category_name)
                    .Distinct()
                    .OrderByDescending(s => s)
                    .ToArray();

Dies erhält offensichtlich nur den Kategorienamen. Meine Frage ist, wie bekomme ich mehrere Felder und in welcher Datenstruktur speichere ich diese?string[])?

BEARBEITEN

Die Verwendung einer Liste von Strukturen ist nicht in Stein gemeißelt. Wenn es ratsam wäre, meine Backing-Datenstruktur zu ändern, um die Auswahl zu vereinfachen (ich werde viele davon schreiben), würde ich gerne Empfehlungen aussprechen.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage