Selecione vários campos da lista no Linq
No asp.net c # eu tenho uma estrutura:
public struct Data
{
public int item1;
public int item2;
public int category_id;
public string category_name;
}
e eu tenho uma lista desses. Eu quero selecionarcategory_id
ecategory_name
, executando umDISTINCT
e finalmente umORDERBY
emcategory_name
.
Aqui está o que eu tenho agora:
List<Data> listObject = getData();
string[] catNames = listObject
.Select(i=> i.category_name)
.Distinct()
.OrderByDescending(s => s)
.ToArray();
Isso obviamente só recebe o nome da categoria. Minha pergunta é: como obtenho vários campos e em qual estrutura de dados armazenarei isso?string[]
)
EDITAR
Usando uma lista de estruturas não é definido em pedra. Se fosse aconselhável mudar minha estrutura de dados de apoio para facilitar as seleções (estarei escrevendo muitas delas), então eu ficaria feliz em receber recomendações.