Trilhas
/
C#
C#
/
Exercícios
/
Tracks on Tracks on Tracks
Tracks on Tracks on Tracks

Tracks on Tracks on Tracks

Exercício de aprendizagem

Introdução

Tipos genéricos

A definição de uma coleção costuma incluir um espaço reservado entre sinais de maior e menor, geralmente T por convenção. Uma coleção assim é chamada de tipo genérico. Isso permite que quem usa a coleção especifique que tipo de item será armazenado nela. No exemplo de código abaixo, estamos instanciando uma lista de strings.

Listas

As listas em C# são coleções de valores primitivos ou de instâncias de structs ou classes. Elas são implementadas na biblioteca de classes base como List<T>, em que T é o tipo do item da lista. A API expõe um conjunto rico de métodos para criar e manipular listas.

É possível adicionar e remover itens das listas. Elas crescem e diminuem conforme a necessidade.

var listOfStrings = new List<string>();

Instruções

Neste exercício, você vai escrever código para acompanhar uma lista de linguagens de programação que quer aprender no Exercism.

Você tem nove tarefas, e todas elas envolvem lidar com listas.

1. Criar uma nova lista

Para acompanhar as linguagens que você quer aprender, você vai precisar criar uma nova lista.

Implemente o método estático Languages.NewList() que retorna uma nova lista vazia.

Languages.NewList()
// => empty list

2. Definir uma lista existente

No momento, você tem um pedaço de papel listando as linguagens que quer aprender: C#, Clojure e Elm.

Implemente o método estático Languages.GetExistingLanguages() para retornar a lista.

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

3. Adicionar uma nova linguagem a uma lista

Conforme você explora o Exercism e encontra linguagens mais interessantes, você quer adicioná-las à sua lista.

Implemente a função estática Languages.AddLanguage() para adicionar uma nova linguagem ao final da sua lista.

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

4. Contar as linguagens na lista

Contar as linguagens uma a uma é inconveniente.

Implemente o método estático Languages.CountLanguages() para contar quantas linguagens há na sua lista.

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

5. Verificar se uma linguagem está na lista

Implemente o método estático Languages.HasLanguage() para verificar se uma linguagem está presente.

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

6. Inverter a lista

Em algum momento, você percebe que sua lista na verdade está em ordem inversa!

Implemente o método estático Languages.ReverseList() para inverter a sua lista.

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

7. Verificar se a lista é empolgante

Embora você ame todas as linguagens, C# tem um lugar especial no seu coração. Por isso, você fica realmente empolgado com uma lista de linguagens se uma das seguintes condições for verdadeira:

  • O primeiro item da lista é C#.
  • O segundo item da lista é C# e a lista contém duas ou três linguagens.

Implemente o método estático Languages.IsExciting() para verificar se uma lista de linguagens é empolgante:

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

8.Remover linguagem

Implemente o método estático Languages.RemoveLanguage() para remover uma linguagem específica da lista.

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

9. Verificar se todas as linguagens da lista são únicas

Implemente o método estático Languages.IsUnique() para verificar se alguma das linguagens se repete na lista.

A lista de linguagens (ou seja, o parâmetro) tem garantia de não estar vazia quando esse método é chamado, e não importa se a lista for modificada.

Languages.IsUnique(Languages.GetExistingLanguages())
// => true
Editar via GitHub O link abre em uma nova janela ou aba
C# Exercism

Tudo pronto para começar Tracks on Tracks on Tracks?

Crie sua conta no Exercism para aprender e dominar C# com 62 conceitos178 exercícios e mentoria humana de verdade, tudo de graça.