Laden...

Wieder Problem mit Uebergabeparameter

Erstellt von jofenchel vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.363 Views
jofenchel Themenstarter:in
117 Beiträge seit 2005
vor 18 Jahren
Wieder Problem mit Uebergabeparameter

Hallo,

ich habe leider wieder ein Problem mit einem Uebergabeparameter.
Ich habe echt veruscht das Problem zu loesen habe aber nichts im Forum oder in der Doku gefunden.
Igendwie raffe ich die Uebergabeparameterei noch nicht ganz.
In meinem Programm habe ich mich entschlossen eine ArrayList zu verwenden weil ich nicht weis wie viele Elemente ich spaeter im Array speichern will.

ArrayList ecuNames = new ArrayList();

Um diese Lieste dann spaeter auszugeben habe ich folgende Methode geschrieben:


public static void Array_Ausgabe( String[] Names )  
{
  for ( int i = 0; i < Names.Length; i++ )  
 {
      Console.WriteLine( "   [{0}] : {1}", i, Names[i] );
 }
}

Wenn ich die Methode nun wie folgt aufrufe:

Array_Tools.Array_Ausgabe( ecuNames );

bekomme ich folgende Fehlermeldungen:

H:\Regex\Class1.cs(45): Die beste Übereinstimmung für die überladene Methode 'Eigene_Tools.Array_Tools.Array_Ausgabe(string[])' hat einige ungültige Argumente

H:\Regex\Class1.cs(45): Argument '1': kann nicht von 'System.Collections.ArrayList' zu 'string[]' konvertiert werden

Ich gebe der Methode doch den korrekten Namen der ArrayListe mit.

Danke fuer Hinweise.

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo jofenchel,

der Fehler ist genau da, wo die Fehlermeldung sagt. Deine Methode erwartet ein String-Array, du übergibst aber eine ArrayList. Entweder du musst ein String-Array übergeben oder die Methode muss eine ArrayList erwarten.

herbivore

4.221 Beiträge seit 2005
vor 18 Jahren

Original von jofenchel

  
public static void Array_Ausgabe( ArrayList Names )    
{  
  foreach ( string s in Names )    
 {  
      Console.WriteLine( s);  
 }  
}  
  

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

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

Wusste nicht das man das Schluesselwort "ArrayList" auch uebergen muss.
Und das es sich vom string [] unterscheidet.

Seid mir nicht boese aber ich wills lernen.
Das Forum ist das einzige wo ich nachfragen kann.

Danke herbivore und Programmierhans.

JoFenchel

49.485 Beiträge seit 2005
vor 18 Jahren

Hallo jofenchel,

gut, dann kannst du weiter lernen 😉 ArrayList ist kein Schlüsselwort, sondern ein Typname. Schlüsselwörter wären if, while, switch. ...

Und der Typname wird auch nicht übergeben, sondern in der Parameterliste angegeben, um zu bestimmen, Objekte welchen Typs übergeben werden können.

Böse bin ich nicht, auch wenn ich mich manchmal wundere. 🙂 Insbesondere bei Syntaxfehlern kommt man meist sehr gut mit der SDK-Doku zu recht. Einfach die Fehlernummer in den Index eingeben.

herbivore