Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

Como recuperar valores únicos em um array

Veja nesta dica de Rafael Nascimento uma forma diferente de recuperar valores únicos em um array.

 

É uma solução esperta. Use uma hashtable e preencha os elementos do array como chaves da hashtable. Quando houver duplicidade de chaves, a hashtable vai, naturalmente, retornar uma exceção. Apenas pule aquele elemento e continue o preenchimento. Para implementar esta solução, utilize recursão para adicionar os elementos do array à hashtable e no bloco Catch chame a mesma função novamente com o próximo índice. Abaixo, o código:

 

    Private strObj() As String = {"A", "A", "B", "C", "C", "D", "E"}

    Private HTUnica As New Hashtable

    Private i As Integer = 0

 

    Public Sub TesteElementoUnico()

        EncontrarElementoUnico(0)

    End Sub

 

    Private Sub EncontrarElementoUnico(ByVal indice As Integer)

 

        Try            

            For i = indice To strObj.Length - 1

            ' Começa adicionando os elementos do array como valores

            para KEY na HashTable

                HTUnica.Add(strObj(i), "QualquerValor")

                Console.WriteLine(strObj(i))

            Next

 

            Console.ReadLine()

 

        Catch ex As Exception

        ' Quando existe duplicidade para KEY na HashTable, a exceção

        será mostrada

            EncontrarElementoUnico(i + 1)

        End Try

 

    End Sub

 





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Autor
Rafael Nascimento

Rafael Nascimento (rafabirth@hotmail.com), é Microsoft Certified Professional em Visual Basic .NET e líder da competência .NET em uma consultoria multinacional.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível para assinantes da .net Magazine ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03