entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Diccionario en C# sin Repetir Valores

hola necesito que de un diccionario solo se muestre las llaves o key mas no los values repetidos...

por ejemplo

      using System;
      using System.Collections.Generic;

      public class Program
      {
    public static void Main()
    {
        Dictionary<string, string> d = new Dictionary<string, string>()
        {
            {"cat", "2"},
            {"dog", "1"},
            {"dove", "1"},
            {"iguana", "3"}
            {"llama", "1"},
        };
    string value = "";  
        // Loop over pairs with foreach.
        foreach (KeyValuePair<string, string> pair in d)
        {
            if (value != pair.Value)
               {
            Console.WriteLine("{0}, {1}",
            pair.Key,
            pair.Value);
            }
             value = pair.Value;
        }
  }
}

el resultado de este codigo seria esto:

cat, 2
dog, 1
iguana, 3

pero realmente quiero hacer es esto

cat, 2
dog, 1
llama
dove
iguana, 3

como podria hacer esto??

0voto

bl4z3r comentado

¿Por que usas un Dictionary<string, string> en lugar de un Dictionary<int, string>? Te quedaria algo como:

var d = Dictionary<string, int> { {1, "a"}, {2, "b"}, {3, "c"} };

1 Respuesta

2votos

MitsuGami Puntos8010

No estoy muy familiarizado con C#, pero creo con LINQ puedes hacerlo:

IDictionary<string,string> unqueDictionary = d.GroupBy(pair => pair.Value)
                         .Select(group => group.First())
                         .ToDictionary(pair => pair.Key, pair => pair.Value);

0voto

german comentado

hola! Gracias por tu respuesta!.... PERO¡ Como hago para q me imprima como lo q indique en la pregunta?
Cat,2
llama,1
dog,
dove
iguana, 3

0voto

MitsuGami comentado

Ese código elimina los duplicados y devuelve el nuevo diccionario (sin duplicados). Simplemente itera uniqueDictionary y muestra sus entradas.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta