En ASP.NET C# que tienen una estructura:seleccionar varios campos de la Lista de LINQ
public struct Data
{
public int item1;
public int item2;
public int category_id;
public string category_name;
}
y tengo una lista de las personas. Quiero seleccionar category_id
y category_name
, ejecutando un DISTINCT
y finalmente un ORDERBY
en category_name
.
Esto es lo que tengo ahora:
List<Data> listObject = getData();
string[] catNames = listObject
.Select(i=> i.category_name)
.Distinct()
.OrderByDescending(s => s)
.ToArray();
Obviamente, esto sólo se pone el nombre de la categoría. Mi pregunta es, ¿cómo obtengo múltiples campos y en qué estructura de datos voy a almacenar esto (no es string[]
)?
EDITAR
Usando una lista de estructuras no está escrito en piedra. Si sería aconsejable cambiar la estructura de datos de mi respaldo para facilitar las selecciones (escribiré muchas de ellas) entonces con mucho gusto recibiré recomendaciones.
Si bien es sin relación con el lado de LINQ, * muy * le aconsejo que no use estructuras mutables o campos públicos. Personalmente, raramente creo estructuras, en primer lugar, pero las estructuras mutables solo están buscando problemas. –
@Jon Skeet Gracias. Lo convertiré en una clase regular con miembros privados. – Chet
@Jon Skeet ¿Por qué? – Midhat