Autor Beitrag
azer00
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 15.10.08 12:05 
Hi ,
ich bin gerade dabei Methoden zu erstellen doch irgendwie kann ich in einer Klasse die Array Variable von der einen Methode
in der anderen übernehmen siehe unten
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
class VokabelTrainer
    {

        
        /// <summary>
        /// Liest paarweise Vokabeln von der Tastatur ein
        /// und speichert diese in das Array Vokabelliste
        /// </summary>
        public void NeuesVPaarEinlesenUndSammeln()
        {
            
            
            //array mit Platz für 100 Vokabelpaar wird angelegt
            VokabelPaar[] VokabelListe = new VokabelPaar[100];

            //Hier werden die VokabelPaare in jeweils eine Speicherstelle 
            //im Array rein geschrieben
            for (int i = 0; i < 2; i++)
            {

                VokabelListe[i] = new VokabelPaar();
                Console.Write("Deutsch :");
                VokabelListe[i].deutsch = Console.ReadLine();
                Console.Write("Französisch :");
                VokabelListe[i].französisch = Console.ReadLine();
            }

           
        }

        public void VokabelListeAusgeben()
        {   VokabelTrainer VokAnzeigen=new VokabelTrainer();
            
            for (int i = 0; i < 2; i++)
            {
                Console.WriteLine(VokabelListe);
            }


        }
        }
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 15.10.08 12:27 
Hallo und :welcome:

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