Laden...

Uebergabeparamter in Methode

Erstellt von jofenchel vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.092 Views
jofenchel Themenstarter:in
117 Beiträge seit 2005
vor 18 Jahren
Uebergabeparamter in Methode

Hallo zusammen,

ich bin am verzweifeln.
Ich habe folgende Funktion geschrieben:

public static void fill_array( string []ecunames, string trace_file )

Die Funktion ist in der Klasse Array_Tools.
Diese Funktion soll ein string Array mit Werten fuellen.

In der methode Main rufe ich die Funktion wie folgt auf:

Array_Tools.fill_array( ecuNames, trace_file );

Das Array habe ich wie folgt in Main dekrlaiert:

string[] ecuNames;

Nun meldet der Kompiler immer folgenden Fehler:

E:\C_Sharp\Regex\Class1.cs(41): Verwendung von möglicherweise nicht zugewiesenen lokalen Variablen 'ecuNames'

Ich kapiers nicht warum.
Das string Array ist doch in Main sauber deklariert.

Ich habe es auch so probiert:

Array_Tools.fill_array( ref ecuNames, trace_file );

Ohne Erfolg.
Keine Ahnung was falsch ist.

Gruss
JoFenchel

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo jofenchel,

deklariert ja,


string[] ecuNames;

aber nicht initialisiert, wie die Fehlermeldung schon sagt.


string[] ecuNames = new string [10];

Arrays sind in C# Objekte, die erst erzeugt werden müssen, um mit ihnen arbeiten zu können

herbivore

jofenchel Themenstarter:in
117 Beiträge seit 2005
vor 18 Jahren

Hallo herbivore,

nun klappt es.
Ich dachte Arrays sind dynamische Objekte und mit der Anweisung string [] Name wird das Objekt schon erzeugt.

War da wohl auf dem Holzweg.
C# ist irgendwie komisch.......

563 Beiträge seit 2004
vor 18 Jahren

Original von jofenchel
C# ist irgendwie komisch.......

Ich kann nicht nachvollziehen, was daran komisch sein sollte.

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo jofenchel,

Variablen sind was anderes als Objekte.


string[] ecuNames;

deklariert man eine Variable (vom Typ String-Array); genauso wie man mit


string ecuName;

eine Variable vom Typ String deklariert.

In beiden Fällen muss man die Objekte (vom Typ String-Array bzw. vom Typ String), die in den Variablen gespeichert werden sollen, erst noch mit new erzeugen.

herbivore