Hallo und
Zunächst bitte ich Dich um einen besseren Titel; dazu kannst Du den ersten Beitrag ändern.
Dann benötige ich eine bessere Fragestellung: Was ist eigentlich Dein Problem? Hast Du vielleicht ein "nicht" vergessen?
Dann schlage ich dringend vor, Dein Verfahren nicht mit einem Array, sondern mit einer
List<T> oder besser einem
Dictionary<string, List<string>> zu erledigen. Arrays sind nur für statische Werte geeignet, aber nicht für Sachen, die sich zur Laufzeit intensiv ändern. Bei Deiner einfachen Zuordnung Wort <-> Wort ginge auch
Dictionary<string, string>; aber in der Regel gibt es für ein Wort der einen Sprache mehrere Übersetzungen.
Dann musst Du Dich dringend mit den
Geltungsbereichen von Variablen befassen: Das Array der ersten Methode ist nur dort gültig und wird nach Verlassen dieser Methode wieder gelöscht. Bei der zweiten Methode erzeugst Du eine neue Instanz der Klasse, ohne diese zu verwenden; stattdessen verwendest Du eine neue, nirgends deklarierte Variable VokabelListe. Auch die Laufvariable der Schleife wird nicht verwendet.
Zusätzlich liefert
Console.WriteLine(VokabelListe) mit Sicherheit nicht das gewünschte Ergebnis. Da WriteLine einen String erwartet (oder etwas, was in einen String konvertiert werden kann), benutzt es dazu VokabelListe.ToString(). Das ist aber sicher nicht das, was Du haben willst.
Kurz zusammengefasst: Studiere zunächst eine Einführung, z.B. das
OpenBook Visual C#.
Gruß Jürgen