Tracks
/
C#
C#
/
Ejercicios
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Ejercicio de aprendizaje

Introducción

Tipos genéricos

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.

Listas

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>();

Instrucciones

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.

1. Crea un array nuevo

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

2. Define un array existente

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"}

3. Agrega un lenguaje nuevo a un array

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"}

4. Cuenta los lenguajes del array

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

5. Verifica si un lenguaje está en el array

Implementa el método estático Languages.HasLanguage() para verificar si un lenguaje está presente.

Languages.HasLanguage(Languages.GetExistingLanguages(), "Elm")
// => true

6. Invierte el array

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#"}

7. Verifica si el array es emocionante

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:

  • El primer elemento del array es C#.
  • El segundo elemento del array es C# y el array contiene dos o tres lenguajes.

Implementa el método estático Languages.IsExciting() para verificar si un array de lenguajes es emocionante:

Languages.IsExciting(Languages.GetExistingLanguages())
// => true

8.Eliminar un lenguaje

Implementa el método estático Languages.RemoveLanguage() para eliminar un lenguaje específico del array.

Languages.RemoveLanguage(Languages.GetExistingLanguages(), "Clojure")
// => { "C#", "Elm" }

9. Verifica si todos los lenguajes del array son únicos

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
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
C# Exercism

¿Todo listo para empezar Tracks on Tracks on Tracks?

Regístrate en Exercism para aprender y dominar C# con 62 conceptos178 ejercicios y mentoría humana real, todo gratis.