Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Asp.net»C#»Trabalhando com Hashtable em C#

    Trabalhando com Hashtable em C#

    Jhonathan SoaresBy Jhonathan Soares16 de agosto de 20162 Mins Read C#
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link

    Hoje, vamos ver, como hashtables trabalham em C #. Hashtables não são nada além de que coleções de pares chave-valor.

    Vamos ver em detalhes neste artigo, então vamos começar.

    Introdução

    Hashtable é um conjunto de pares de valores-chave, que são organizadas no hash de suas respectivas chaves.

    Quando você adiciona um elemento, ele é adicionado à tabela hash e seu código de hash correspondente é gerado automaticamente. Aqui, estamos usando as chaves para acessar esses hashcodes.Hashtable otimiza a pesquisa com a ajuda das chaves.

    Utilização

    Podemos utilizar o hash da seguinte maneira:

    // Sintax básica
        Hashtable at=new Hashtable();  
    
    //adicionar uma chave
        at.Add("1","Valor");  

     

    1 é a chave com os seu respectivo valor.
    Agora, você tem que usar um loop para exibir os elementos, caso queira listá-los.
    Para recuperar os elementos através da tabela hash, iremos utilizar usar um dicionário de entrada ou comumente chamado DictionaryEntry.

        foreach(DictionaryEntry e in ht)   
        {  
            Console.WriteLine("{0}, {1}", e.Key, e.Value);  
        }  
    
    

     

    Veja alguns exemplos:

    //checando uma chave
    ht.ContainsKey(1);  
    
    //checando um valor específico
    //lembrando de utilizar cast para o tipo de objeto
    int value = (int)ht["One"];  
    
    

     

    Propriedades de Hashtable

    Chaves: Obtém um ICollection que contém as chaves no Hashtable.
    Valores: Obtém um ICollection que contém os valores na tabela de hash.

    Casting em Hashtable

    Podemos usar o “as” operador para tentar converter um objeto para um tipo de referência específico. Ele retorna verdadeiro ou falso.
    Para armazenar as chaves em uma lista de matriz, você pode usar a propriedade chaves de Hashtable. Por exemplo:

        ArrayList al = new ArrayList(ht.Keys)  
            // recuperando elementos do array
        foreach(int key in al) r {  
            Console.WriteLine(Key);  
        }  
    
    

     

    Vantagem de utilizar Hashtable

    Hashtable permite que o tempo de execução para a pesquisa, recuperação e definção permaneça quase constante, mesmo para os grandes conjuntos.
    Nos grandes conjuntos de dados, uma tabela de hash possui capacidade de localizar o produto rapidamente.
    Não há necessidade de percorrer todos os dados conjuntos para encontrar os itens.

    Por exemplo, podemos criar uma instância do Hash e acrescentar quatro elementos nele.

    Posteriormente, mostramos todos os elementos na tabela de hash e as chaves dadas à lista de matriz para conter todas as chaves de Hashtable e, finalmente, de imprimi-lo.

        using System;  
        using System.Collections;  
        namespace hasthtab  
        {  
            class Program   
            {  
                static void Main(string[] args) {  
                    Hashtable ht = new Hashtable();  
                    ht.Add("1", "Jhow");  
                    ht.Add("2", "Codigosimples");  
                    ht.Add("3", "Maria");  
                    ht.Add("4", "Joaquim");  
                    ICollection key = ht.Keys;  
                    Console.WriteLine("Recuperando elementos: ");  
                    Console.WriteLine();  
                    foreach(var k in key) {  
                        Console.WriteLine(k + ":" + ht[k]);  
                    }  
                    ArrayList al = new ArrayList(key);  
                    Console.WriteLine("Recuperando todas as chaves no array");  
                    Console.WriteLine();  
                    foreach(var n in al) {  
                        Console.WriteLine(n);  
                    }  
                    Console.ReadKey();  
                }  
            }  
        }  
    

     

    Por hoje é só pessoal! Um grande abraço a todos!

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    O que é a Ecma e qual é sua relação com C#?

    C# Post do Leitor 29 de julho de 20247 Mins Read

    UUID vs ULID: comparação e exemplos em C#

    C# 19 de junho de 20245 Mins Read

    Entendendo o ObjectId no MongoDB

    C# NoSql 25 de maio de 20246 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile