Primeo miramos la declaración de la clase Array:
La clase Array hereda los métodos de muchas otras clases, entre ellas IEnumerable. Es decir: todos los métodos que se pueden usar en IEnumerable, se pueden usar también con arrays.
A continuación un pequeño ejemplo:
Tengo un array de Integers (en realidad pueden ser cualquier tipo de datos: byte, double, DateTime, etc), quiero eliminar los que se repiten y convertirlos a cadenas de caracteres:
int[] misNumeros; // Contiene muchos números.
strings[] misCadenas; // aquí guardo los que no se repiten, luego de convertirlos a strings.
misCadenas = misNumeros.Distinct().Select(c => c.ToString()).ToArray();
Como los métodos Select y Distinct devuelven un IEnumerable, lo convierto a Array usando el método ToArray().
Otro ejemplo: creo un array con números del 0 al 100, realizo algunas operaciones aritméticas cualquiera, elimino los repetidos, los ordeno en orden descendente, y finalmente los convierto a un array de cadena de caracteres:
int[] nums = Enumerable.Range(0, 100).ToArray();
nums = nums.Select(c => c * DateTime.Now.Millisecond / DateTime.Now.Second + DateTime.Now.Millisecond).ToArray();
string [] calculatedNums = nums.Distinct().OrderByDescending(c => c).Select(c => c.ToString()).ToArray();
Nótese cómo siempre utilizo ToArray() para convertir de IEnumerable a Array.
No hay comentarios:
Publicar un comentario