Tengo una lista de esta clase:Crear lista con sólo un miembro de la clase
public class Data
{
public string name {get; set;}
public int width {get; set;}
}
Y quiero hacer un método que devuelve una lista de sólo la propiedad nombre. De esta manera:
public List<string> GetAllNames()
{ return MyDataList<name>.ToList(); }
Por lo tanto, si tengo esta lista:
name
= Jon -width
= 10name
= Jack -width
= 25
quiero que el siguiente lista:
name
= Jonname
= Jack
¿Es posible?
rocas LINQ! Gracias. – Nick
Como nota, si devuelve una lista, básicamente va a duplicar toda la lista. Esto puede tomar tiempo/memoria si tiene una lista grande. Si cambia a usar IEnumerable y luego no hace el .ToList(), obtendrá una lista perezosa que es casi libre de crear y consumirá muy poco (<100bytes) de espacio –
@TimothyBaldridge: Verdadero. También vale la pena señalar que si vas por la ruta 'IEnumerable', se volverá a evaluar cada vez que iteres a través de él. Su IEnumerable también se ata al conjunto original de objetos, por lo que evitará que el recolector de basura limpie todos los objetos 'Datos', incluso si solo planea usar los nombres de ellos. Además, si 'MyDataList' cambia, el' IEnumerable' devuelto cambiará, y puede arrojar una excepción si se está utilizando en un hilo separado. A menudo, nada de esto importa, pero siempre es bueno entender lo que sucede bajo las sábanas. – StriplingWarrior