Track
/
C#
C#
/
Esercizi
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Esercizio di apprendimento

Introduzione

Tipi generici

Una definizione di collezione include tipicamente un segnaposto tra parentesi angolari, spesso T per convenzione. Una tale collezione è detta tipo generico. Ciò permette a chi usa la collezione di specificare quale tipo di elementi memorizzare nella collezione. Nel codice di esempio qui sotto stiamo istanziando un array di stringhe.

Array

Gli array in C# sono collezioni di valori primitivi o di istanze di struct o classi. Sono implementati nella libreria di classi di base come List<T>, dove T è il tipo dell'elemento nell'array. L'API espone una ricca serie di metodi per creare e manipolare array.

Gli elementi possono essere aggiunti e rimossi dagli array. Crescono e si riducono a seconda delle necessità.

var listOfStrings = new List<string>();

Istruzioni

In questo esercizio scriverai del codice per tenere traccia di un array di linguaggi di programmazione che vuoi imparare su Exercism.

Dovrai svolgere nove attività, che riguarderanno tutte la gestione degli array.

1. Crea un nuovo array

Per tenere traccia dei linguaggi che vuoi imparare, dovrai creare un nuovo array.

Implementa il metodo statico Languages.NewList() che restituisce un nuovo array vuoto.

Languages.NewList()
// => empty list

2. Definisci un array esistente

Al momento hai un foglio di carta su cui sono elencati i linguaggi che vuoi imparare: C#, Clojure ed Elm.

Implementa il metodo statico Languages.GetExistingLanguages() per restituire l'array.

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

3. Aggiungi un nuovo linguaggio a un array

Mentre esplori Exercism e trovi linguaggi più interessanti, vorrai aggiungerli all'array.

Implementa la funzione statica Languages.AddLanguage() per aggiungere un nuovo linguaggio in fondo all'array.

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

4. Conta i linguaggi nell'array

Contare i linguaggi uno per uno è scomodo.

Implementa il metodo statico Languages.CountLanguages() per contare il numero di linguaggi nell'array.

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

5. Verifica se un linguaggio è nell'array

Implementa il metodo statico Languages.HasLanguage() per verificare se un linguaggio è presente.

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

6. Inverti l'array

A un certo punto ti accorgi che l'array è in realtà ordinato al contrario!

Implementa il metodo statico Languages.ReverseList() per invertire l'array.

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

7. Verifica se l'array è entusiasmante

Anche se ami tutti i linguaggi, C# ha un posto speciale nel tuo cuore. Per questo, un array di linguaggi ti entusiasma davvero se una delle seguenti condizioni è vera:

  • Il primo elemento dell'array è C#.
  • Il secondo elemento dell'array è C# e l'array contiene due o tre linguaggi.

Implementa il metodo statico Languages.IsExciting() per verificare se un array di linguaggi è entusiasmante:

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

8.Rimuovi un linguaggio

Implementa il metodo statico Languages.RemoveLanguage() per rimuovere un linguaggio specificato dall'array.

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

9. Verifica se tutti i linguaggi nell'array sono unici

Implementa il metodo statico Languages.IsUnique() per verificare se uno dei linguaggi è ripetuto nell'array.

L'array di linguaggi (cioè il parametro) è garantito non vuoto quando questo metodo viene chiamato, e non importa se l'array viene modificato.

Languages.IsUnique(Languages.GetExistingLanguages())
// => true
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
C# Exercism

Vuoi iniziare Tracks on Tracks on Tracks?

Iscriviti a Exercism per imparare e padroneggiare C# con 62 concetti178 esercizi e il mentoring di persone reali, tutto gratis.