Porównywanie tekstu do wartości/klucza w słowniku

0

Pierwsze porównanie działa, ale w drugą stronę teraz mam problem.

using System;
using System.Collections.Generic;

namespace Stolice
{
    class Program
    {
        static void Main(string[] args)
        {
            //tworzymy słownik
            Dictionary<string, string> dicStolice = new Dictionary<string, string>(); //key, val
            dicStolice.Add("Austria", "Wiedeń");
            dicStolice.Add("Czechy", "Praga");
            dicStolice.Add("Polska", "Warszawa");
            dicStolice.Add("Francja", "Paryż");

            //wyświetlamy konkretny element
            Console.WriteLine("Stolicą Polski jest: {0}", dicStolice["Polska"]);

            Console.WriteLine("\nPodaj stolicę Czech: ");
            string stolicaCzech = Console.ReadLine();
            if (stolicaCzech == dicStolice["Czechy"])
            {
                Console.WriteLine("dobrze");
            }
            else
            {
                Console.WriteLine("Źle");
            }

            Console.WriteLine("Podaj państwo którego stolicą jest Warszawa: ");
            string panstwo = Console.ReadLine();
            if (panstwo == dicStolice["Polska"]) //jak porównać teraz odpowiedź z odpowiednim elementem na słowniku, tutaj jest problem
            {
                Console.WriteLine("dobrze");
            }
            else
            {
                Console.WriteLine("Źle");
            }
            Console.ReadLine();

        }
    }
}

 
0

Nie korzystaj ze słownika, a z czegoś innego? Stwórz sobie listę Tuple.

0

Czy to nie jest oczywiste, żepo prostu źle skonstruowałes warunek?

   if ("Warszawa"== dicStolice[panstwo])   
0

No jest oczywiste, tylko że nie wiem jak zapisać go poprawnie.

0

Tak jak @MarekR22 napisał - musisz sprawdzić czy słownik posiada klucz - taki jak podany i jeżeli tak, to czy wartość przypisana do klucza jest równa oczekiwanej:

if (dicStolice.ContainsKey(panstwo) && dicStolice[panstwo] == "Warszawa")

1 użytkowników online, w tym zalogowanych: 0, gości: 1