C++ map<T1, T2> Equivalente em C#

  1. C++ map<key, value> Equivalente em C
  2. C++ unordered_map<chave, valor> Equivalente em C

Este tutorial irá apresentar o equivalente em C# do map<T1, T2> em C++.

C++ map<key, value> Equivalente em C

A estrutura de dados map<key, value> em C++ é usada para conter dados na forma de pares chave-valor. A alternativa mais próxima a isso é a classe Dictionary<Tkey, Tvalue> em C#. A estrutura de dados Dictionary também contém dados na forma de pares de valor-chave em C#. Se estivermos preocupados com a ordem das entradas dentro do dicionário, podemos usar a classe SortedDictionary<Tkey, Tvalue>. O exemplo de código a seguir nos mostra como podemos armazenar dados na forma de um par de valor-chave com a classe SortedDictionary<Tkey, Tvalue> em C#.

using System;
using System.Collections.Generic;

namespace C__map_alternative
{
    class Program
    {
        static void Main(string[] args)
        {
            SortedDictionary<int, string> person = new SortedDictionary<int, string>();
            person.Add(1, "ABC");
            person.Add(2, "DEF");
            person.Add(3, "GHI");
            foreach(var pair in person)
            {
                Console.WriteLine(pair);
            }
        }
    }
}

Resultado:

[1, ABC]
[2, DEF]
[3, GHI]

No código acima, criamos o dicionário classificado person com a classe SortedDictionary<int, string> em C#. Passamos dados para o dicionário person na forma de pares de valor-chave com a função SortedDictionary.Add(). No final, imprimimos os dados dentro do dicionário person com um loop foreach.

C++ unordered_map<chave, valor> Equivalente em C

Quando falamos sobre a estrutura de dados unordered_map<chave, valor> em C++, estamos apenas preocupados em armazenar os dados na forma de pares de valor-chave e não com a ordem dos pares. Nesse caso, podemos utilizar a classe Dictionary<Tkey, Tvalue> para armazenar dados na forma de pares de key-value em C#. Veja o exemplo abaixo.

using System;
using System.Collections.Generic;

namespace C__map_alternative
{
    class Program
    {
        static void Main(string[] args)
        {
            Dictionary<int, string> person = new Dictionary<int, string>();
            person.Add(1, "ABC");
            person.Add(2, "DEF");
            person.Add(3, "GHI");
            foreach (var pair in person)
            {
                Console.WriteLine(pair);
            }
        }
    }
}

Resultado:

[1, ABC]
[2, DEF]
[3, GHI]

No código acima, criamos o dicionário não classificado person com a classe Dictionary<int, string> em C#. Passamos os dados para o dicionário person na forma de pares de valor-chave com a função Dicionário.Adicionar(). No final, imprimimos os dados dentro do dicionário person com um loop foreach.

Artigo relacionado - Csharp Dictionary

  • Obtenha o valor do dicionário por chave em C#