chcialbym zrobic aby te dictionary wskakiwalo do textbox2 i po wpisaniu czegos do textbox1 sprawdzalo czy textbox1==textbox2, jak to najprościej zrobić?
- Dictionary musi być globalne w tej klasie. Czyli poza metodą
Form1_Load
. - Żeby sprawdzić, czy dla danego klucza wpisana jest dobra wartość, trzeba napisać tak:
if (My_dict1[textBox1.Text] == textBox2.Text)
. - Ale najpierw trzeba sprawdzić, czy
My_dict1
posiada klucz, który został wpisany wtextBox1.Text
. Bo jeśli dany klucz nie istnieje, to będzie błąd... https://docs.microsoft.com/pl-pl/dotnet/api/system.collections.generic.dictionary-2.containskey?view=net-5.0
Wydaje mi się, że lista obiektów z polami słowo
, tłumaczenie
lepiej niż słownik sprawdzi się w Twoim programie.
Po prostu będziesz leciał po liście i ładował zadanie po zadaniu.
zalozmy ten pierwszy Dictionary czyli ("Pies", "Dog") Da sie jakos latwo wyciagnac ta druga wartosc czyli dog? i pierwsza najlepiej tez ... ze 2 wartosc leci do textbox2 a 1 wartosc do textbox1
Możesz się dostać do kluczy i wartości...
https://docs.microsoft.com/pl-pl/dotnet/api/system.collections.generic.dictionary-2.keys?view=net-5.0#System_Collections_Generic_Dictionary_2_Keys
https://docs.microsoft.com/pl-pl/dotnet/api/system.collections.generic.dictionary-2.values?view=net-5.0#System_Collections_Generic_Dictionary_2_Values
Ale to nie będzie ładny kod.
Lepiej zrób tak jak pisałem, klasę z polami word
, translation
oraz listę instancji typu tej klasy.
Każdy ma swoje ulubione metody treningowe do nauki języka. To rozwiązanie które przedstawiłeś ma tą wadę, że nie będzie można wstawiać nowych pojęć bo kodujesz wszystko na sztywno, do tego potrzebne są mechanizmy z pamięcią, kiedy w jakiś sposób będziesz pamiętał pojęcia wprowadzone przy wcześniejszych uruchomieniach programu i które będziesz później wprowadzać. Prawdopodobnie zwiększy Ci się zakres materiału, jak wszędzie, nawet jeżeli będziesz używał programu sam to będą pojawiać się nowe słowa, które będziesz chciał umieć.