Um dicionário é uma estrutura de dados útil que permite armazenar pares de valores-chave. Você pode acessar com eficiência um valor do dicionário usando sua chave.

Os dicionários em C# dão suporte a ações como remover um valor ou iterar em todo o conjunto de valores.

O que é um dicionário em C#?

Um dicionário C# é um dos as estruturas de dados mais importantes você pode aprender sobre. É um pouco como a estrutura de dados Java HashMap. Suas chaves devem ser únicas, mas podem ser de quase qualquer tipo. Um dicionário simples usa valores escalares.

Por exemplo, este conjunto de dados tem um ID de um animal de estimação como a chave e o nome do animal como o valor:

{1001, "Mia"},
{1002, "Oscar"},
{1003, "Passarinho"},
{1004, "Azul"},
{1005, "Leão"},
{1006, "Travis"}

Essa estrutura permite acessar dados usando a chave específica que faz referência a um registro. Por exemplo, você pode recuperar o registro com o valor Passarinho referenciando-o com a chave de pesquisa 1003.

Como criar um dicionário

Para criar um dicionário, você precisa especificar o tipo de objeto para a chave e o valor.

  1. Crie o dicionário. Neste exemplo, a chave é um número inteiro e o valor de cada registro é uma string.
    Dicionário<int, fragmento> animais de estimação = novo Dicionário<int, fragmento>();
  2. Você precisará usar o Sistema. Coleções. Genérico namespace que contém a classe Dictionary. Certifique-se de fazer isso na parte superior do seu arquivo:
    usando Sistema. Coleções. Genérico;

Como adicionar itens ao dicionário

Você pode adicionar itens ao dicionário durante ou após sua inicialização.

  1. Você pode adicionar itens ao inicializar o dicionário. Para fazer isso, adicione alguns valores entre colchetes após a nova instrução Dicionário inicial.
    Dicionário<int, fragmento> animais de estimação = novo Dicionário<int, fragmento>()
    {
    {1001, "Mia"},
    {1002, "Oscar"},
    {1003, "Passarinho"},
    {1004, "Azul"},
    {1005, "Leão"},
    {1006, "Travis"}
    };
  2. Se você já criou o dicionário, pode usar o método Add() integrado do dicionário.
    animais de estimação. Adicionar(1007, "Nevado");

Você não pode adicionar um valor para uma chave que já existe. Se você tentar fazer isso, receberá um ArgumentException.

Você não pode usar um nulo value como a chave para uma entrada em um dicionário. No entanto, você pode armazenar um valor nulo em um dicionário.

Como adicionar objetos ao dicionário

Se você estiver usando um oprogramação orientada a objetos style, você provavelmente tem pelo menos uma classe que usa para criar objetos. Digamos que você tenha uma classe que armazene detalhes sobre animais de estimação:

Você pode adicionar objetos criados a partir desta classe a um dicionário.

  1. Certifique-se de criar o dicionário com o tipo de objeto Pet especificado para o valor.
    Dicionário<int, Pet> petObjects = novo Dicionário<int, Animal>();
  2. Crie seu objeto de estimação.
    Pet mia = novo Bicho de estimação(1001, "Mia", novo Data hora(2010, 6, 29), 9.0,
    novo Data hora(2022, 05, 02));
  3. Adicione o novo objeto de estimação ao dicionário.
    petObjects. Adicionar(1001, mia);

Como acessar um item no dicionário

Você pode acessar um item no dicionário usando a Chave.

  1. Use o nome da variável para o dicionário, seguido pela chave em torno de um par de colchetes. Isso retornará o objeto armazenado nessa parte específica do dicionário.
    var pet = petObjects[1001];
    Console. WriteLine (nome do animal de estimação);

Como iterar no dicionário

Você pode usar um para cada loop para iterar em um dicionário:

  1. Use um foreach para iterar sobre cada KeyValuePair no dicionário. Supondo que você chamou seu iterador entrada, você pode acessar a chave e o valor usando entrada. Chave e entrada. Valor.
    para cada (KeyValuePair<int, Pet> entrada dentro petObjects)
    {
    // imprime a chave
    Console. WriteLine (entrada. Chave);

    // imprime o nome do objeto para esse registro
    Console. WriteLine (entrada. Valor.nome);
    }

Como atualizar um item em um dicionário

Você pode atualizar um item substituindo seu valor no dicionário.

  1. Se você tiver tipos de objetos simples em seu dicionário, poderá substituir um valor de um registro diretamente.
    animais de estimação[1001] = "Maia";
  2. Se você adicionou objetos ao seu dicionário, você pode substituir um valor por um objeto completamente novo.
    Coelho de estimação = novo Bicho de estimação(1001, "Coelhinho", novo Data hora(2021, 8, 1), 3.0, novo Data hora(2021, 8, 4));
    petObjects[1001] = coelho;
  3. Se você tiver um objeto no dicionário, também poderá atualizar uma única propriedade. Você pode substituir o valor da propriedade diretamente ou usar um setter.
    petObjects[1001].name = "Maia";
    // OU
    petObjects[1001].setName("Maia");

Como excluir um item em um dicionário

Você pode optar por excluir um único item ou todos os itens.

  1. Para excluir um único item, use o método Remove() integrado do dicionário. Insira a chave do registro que deseja excluir como argumento.
    petObjects. Remover(1002);
  2. Para excluir todos os itens do dicionário, use o método Clear() integrado do dicionário
    petObjects. Claro();

Estruturas de dados em C#

Este tutorial abordou como criar um dicionário em C# e como adicionar itens ao dicionário. Além disso, também abordou como atualizar, excluir e iterar no dicionário.

Se você deseja melhorar seu vocabulário de estrutura de dados, pode começar a explorar estruturas de dados mais avançadas. Alguns exemplos disso incluem o Fibonacci Heap, AVL Tree ou Red Black Tree.

3 estruturas de dados avançadas que todo programador deve conhecer

Leia a seguir

CompartilharTweetCompartilharE-mail

Tópicos relacionados

  • Programação
  • Dicionário
  • Programação

Sobre o autor

Sharlene von Drehnen (14 Artigos Publicados)

Sharlene é Tech Writer na MUO e também trabalha em tempo integral em Desenvolvimento de Software. Ela é bacharel em TI e tem experiência anterior em Garantia de Qualidade e tutoria universitária. Sharlene adora jogar e tocar piano.

Mais de Sharlene Von Drehnen

Assine a nossa newsletter

Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique aqui para assinar