La definición de una colección suele incluir un marcador de posición entre paréntesis angulares, que por convención suele ser T. A ese tipo de colección se le llama tipo genérico. Esto permite que quien use la colección especifique qué tipo de elementos quiere guardar en ella. En el código de ejemplo de abajo estamos instanciando una lista de strings.
Las listas en C# son colecciones de valores primitivos o de instancias de estructuras o clases. Se implementan en la biblioteca de clases base como List<T>, donde T es el tipo del elemento de la lista. La API expone un amplio conjunto de métodos para crear y manipular listas.
Se pueden agregar y quitar elementos de las listas. Crecen y se reducen según sea necesario.
var listOfStrings = new List<string>();
En este ejercicio vas a escribir código para llevar un registro de un array de lenguajes de programación que quieres aprender en Exercism.
Tienes nueve tareas, y todas implican trabajar con arrays.
Para llevar un registro de los lenguajes que quieres aprender, vas a necesitar 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 una hoja de papel con los lenguajes que quieres aprender: C#, Clojure y Elm.
Implementa el método estático Languages.GetExistingLanguages() para devolver el array.
Languages.GetExistingLanguages();
// => {"C#", "Clojure", "Elm"}
A medida que exploras Exercism y encuentras lenguajes más interesantes, quieres agregarlos a tu array.
Implementa la función estática Languages.AddLanguage() para agregar 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 la cantidad de lenguajes que hay en tu array.
Languages.CountLanguages(Languages.GetExistingLanguages())
// => 3
Implementa el método estático Languages.HasLanguage() para verificar 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 amas todos los lenguajes, C# tiene un lugar especial en tu corazón. Por eso, un array de lenguajes te emociona de verdad si se cumple una de estas condiciones:
Implementa el método estático Languages.IsExciting() para verificar si un array de lenguajes es emocionante:
Languages.IsExciting(Languages.GetExistingLanguages())
// => true
Implementa el método estático Languages.RemoveLanguage() para eliminar un lenguaje específico del array.
Languages.RemoveLanguage(Languages.GetExistingLanguages(), "Clojure")
// => { "C#", "Elm" }
Implementa el método estático Languages.IsUnique() para verificar si alguno de los lenguajes se repite en el array.
Se garantiza que el array de lenguajes (es decir, el parámetro) no está vacío cuando se llama 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.