CsharpProgramación

Aprendiendo a usar ConvertAll() en C#

Una función útil para convertir colecciones

La función ConvertAll() es una herramienta útil en C# que permite convertir cada elemento de una colección a un tipo específico. Esta función se puede utilizar en situaciones comunes de programación, como cuando necesitamos convertir una lista de objetos a otra lista de objetos con diferentes tipos.

Ejemplo 1: Convertir una lista de enteros a una lista de cadenas

En este ejemplo, se utiliza ConvertAll() para convertir una lista de enteros en una lista de cadenas. Primero, creamos una lista de enteros y luego utilizamos ConvertAll() con un delegado que convierte cada entero en una cadena.


List<int> numeros = new List<int>() { 1, 2, 3 };
List<string> cadenas = numeros.ConvertAll(n => n.ToString());

El resultado será una lista de cadenas que contiene las representaciones en cadena de los enteros originales: "1", "2", "3".

Ejemplo 2: Convertir una lista de cadenas a una lista de caracteres

En este ejemplo, se utiliza ConvertAll() para convertir una lista de cadenas en una lista de caracteres. Primero, creamos una lista de cadenas y luego utilizamos ConvertAll() con un delegado que convierte cada cadena en un carácter en función del primer carácter de la cadena.


List<string> cadenas = new List<string>() { "hola", "mundo", "ejemplo" };
List<char> caracteres = cadenas.ConvertAll(cadena => cadena[0]);

El resultado será una lista de caracteres que contiene el primer carácter de cada cadena original: 'h', 'm', 'e'.

Ejemplo 3: Convertir una lista de objetos a una lista de cadenas

En este ejemplo, se utiliza ConvertAll() para convertir una lista de objetos en una lista de cadenas. Primero, creamos una lista de objetos y luego utilizamos ConvertAll() con un delegado que convierte cada objeto en una cadena.


List<object> objetos = new List<object>() { 1, "dos", 3 };
List<string> cadenas = objetos.ConvertAll(o => o.ToString());

El resultado será una lista de cadenas que contiene las representaciones en cadena de los objetos originales: "1", "2", "3".

Ejemplo 4: Convertir una lista de cadenas a una lista de enteros

En este ejemplo, se utiliza ConvertAll() para convertir una lista de cadenas en una lista de enteros. Primero, creamos una lista de cadenas y luego utilizamos ConvertAll() con un delegado que convierte cada cadena en un entero en función del valor numérico representado por la cadena.


List<string> cadenas = new List<string>() { "1", "2", "3" };
List<int> enteros = cadenas.ConvertAll(cadena => Convert.ToInt32(cadena));

El resultado será una lista de enteros que contiene los valores numéricos representados por las cadenas originales: { 1, 2, 3 }.

Conclusión

Al usar ConvertAll(), los desarrolladores pueden ahorrar tiempo y esfuerzo al no tener que escribir código personalizado para cada conversión. Además, la función es fácil de usar y se puede integrar en proyectos futuros para mejorar la eficiencia y la legibilidad del código.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.