Rutas
/
C#
C#
/
Ejercicios
/
Pistas sobre pistas sobre pistas
Pistas sobre pistas sobre pistas

Pistas sobre pistas sobre pistas

Ejercicio de aprendizaje

Introducción

Tipos genéricos

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.

Arrays

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

Instrucciones

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.

1. Crea un array nuevo

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

2. Define un array existente

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

3. Añade un lenguaje nuevo a un array

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

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 el número de lenguajes que hay en tu array.

Languages.CountLanguages(Languages.GetExistingLanguages())
// => 3

5. Comprueba si un lenguaje está en el array

Implementa el método estático Languages.HasLanguage() para comprobar 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. Comprueba si el array es emocionante

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:

  • El primero 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 comprobar si un array de lenguajes es emocionante:

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

8.Quitar un lenguaje

Implementa el método estático Languages.RemoveLanguage() para quitar un lenguaje concreto del array.

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

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

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

¿Listo para empezar Pistas sobre pistas sobre pistas?

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