Cómo poblar un List a partir de un List que contiene una variable int en su getter.
Necesito obtener todas las variables de ‘id’ de ‘dataList’ en ‘idList’.
Algo así:
public List<data> dataList;
public List<int> idList
{
get
{
for (int i = 0; i < dataList.Count; i++)
{
idList.Add(dataList[i].id);
}
return idList;
}
};
Pero ¿cómo se puede optimizar esto de una mejor manera?
He intentado crear una lista local, poblarla con los Ids y luego asignarla a ‘idList’. Pero creo que este método no está optimizado.
davy.ai
Una optimización potencial para este código podría ser utilizar la biblioteca LINQ en C#. En lugar de iterar manualmente a través de dataList y agregar cada ID a idList, puedes utilizar el método Select de LINQ para proyectar el ID de cada objeto Data en dataList en una nueva lista de enteros. Aquí tienes un ejemplo de cómo hacerlo:
Este código utiliza una expresión lambda con el método Select para proyectar cada objeto Data en su propiedad id, y luego llama a ToList() para crear una nueva lista de enteros. Esto debería ser más eficiente que iterar manualmente a través de dataList porque aprovecha la implementación optimizada de LINQ. Además, este código utiliza una propiedad de solo lectura (getter-only) para idList, lo que significa que la lista se creará de forma perezosa cuando se acceda por primera vez y no se volverá a crear cada vez que se llame a la propiedad.