Una definición de colección suele incluir un marcador de posición entre corchetes angulares, a menudo T por convención. Una colección así se denomina tipo genérico. Esto permite que quien use la colección especifique qué tipo de elementos almacenar en ella. En el ejemplo de código que aparece a continuación, estamos instanciando un array de strings.
Los arrays en C# son colecciones de valores primitivos o instancias de structs o clases. Se implementan en la biblioteca de clases base como List<T>, donde T es el tipo del elemento del array. La API expone un amplio conjunto de métodos para crear y manipular arrays.
Se pueden añadir y eliminar elementos de los arrays. Crecen y se reducen según sea necesario.
var listOfStrings = new List<string>();
En este ejercicio vas a escribir código para llevar la cuenta de un array de lenguajes de programación que quieres aprender en Exercism.
Tienes nueve tareas, y todas ellas consisten en trabajar con arrays.
Para llevar la cuenta de los lenguajes que quieres aprender, tendrás que crear un array nuevo.
Implementa el método estático Languages.NewList() que devuelve un array nuevo y vacío.
Languages.NewList()
// => empty list
Actualmente tienes un trozo de papel en el que figuran los lenguajes que quieres aprender: C#, Clojure y Elm.
Implementa el método estático Languages.GetExistingLanguages() para que devuelva el array.
Languages.GetExistingLanguages();
// => {"C#", "Clojure", "Elm"}
A medida que exploras Exercism y encuentras lenguajes más interesantes, quieres añadirlos a tu array.
Implementa la función estática Languages.AddLanguage() para añadir un lenguaje nuevo al final de tu array.
Languages.AddLanguage(Languages.GetExistingLanguages(), "VBA");
// => {"C#", "Clojure", "Elm", "VBA"}
Contar los lenguajes uno por uno es incómodo.
Implementa el método estático Languages.CountLanguages() para contar el número de lenguajes que hay en tu array.
Languages.CountLanguages(Languages.GetExistingLanguages())
// => 3
Implementa el método estático Languages.HasLanguage() para comprobar si un lenguaje está presente.
Languages.HasLanguage(Languages.GetExistingLanguages(), "Elm")
// => true
En algún momento te das cuenta de que tu array en realidad está ordenado al revés.
Implementa el método estático Languages.ReverseList() para invertir tu array.
Languages.ReverseList(Languages.GetExistingLanguages())
// => {"Elm", "Clojure", "C#"}
Aunque quieres todos los lenguajes, C# ocupa un lugar especial en tu corazón. Por eso, un array de lenguajes te entusiasma de verdad si se cumple una de las siguientes condiciones:
Implementa el método estático Languages.IsExciting() para comprobar si un array de lenguajes es emocionante:
Languages.IsExciting(Languages.GetExistingLanguages())
// => true
Implementa el método estático Languages.RemoveLanguage() para quitar un lenguaje concreto del array.
Languages.RemoveLanguage(Languages.GetExistingLanguages(), "Clojure")
// => { "C#", "Elm" }
Implementa el método estático Languages.IsUnique() para comprobar si alguno de los lenguajes se repite en el array.
El array de lenguajes (es decir, el parámetro) tiene garantizado que no estará vacío cuando se llame a este método, y no importa si el array se modifica.
Languages.IsUnique(Languages.GetExistingLanguages())
// => true
Regístrate en Exercism para aprender y dominar C# con 62 conceptos178 ejercicios y mentoría humana real, todo gratis.