Frage von DerEidgenosse, 86

C# Array ausgabe?

Hallo

Ich möchte gerne den Inhalt meines Arrays ausgeben. Es ist eindimensional und auf 10 Stellen begrenzt.

Ich habe bereits eine Halbwegs Funktionierende ausgabe erstellt, jedoch zeigt es mir auch die leeren Stellen des Arrays an. Ich weis nicht wie ich das lösen kann.

So sieht die Ausgabe Funktion aus:

for (int i = 0; i < artikelarray.Length; i++)
                        Console.WriteLine(lagerarray[i] + "." + "\t\t" + artikelarray[i] + "\t\t\t\t" + preisarray[i]);

Danke im Voraus für eure Antworten!

Antwort
von safur, 69

for (int i = 0; i < artikelarray.Length; i++){

if(lagerarray[i] != ""){

Console.WriteLine(lagerarray[i] + "." + "\t\t" + artikelarray[i] + "\t\t\t\t" + preisarray[i]);

}

}  
                       

 

 

Kommentar von DerEidgenosse ,

Es funktioniert irgendwie nicht. Beim != sagt er : Operator '!=' cannot be applied to operands ot type 'int' and 'string'

Kommentar von safur ,

Mein Fehler. Du hattest gesagt es sei eine Ganzzahl.

Dann schreibst du..
if(lagerarray[i] > 0){

Kommentar von PWolff ,

Dann nimm statt

lagerarray[i] != ""

entweder

lagerarray[i] != 0

oder

artikelarray[i] != ""

Vermutlich bekommst du auch eine Fehlermeldung bei

lagerarray[i] + "." + "\t\t" + artikelarray[i] + "\t\t\t\t" + preisarray[i]

Dann nimm die ToString()-Methode:

lagerarray[i].ToString() + "." + "\t\t" + artikelarray[i] + "\t\t\t\t" + preisarray[i].ToString("#,##0.00")

Übrigens - bei längeren Schleifenkörpern ist Folgendes möglicherweise übersichtlicher:

for (int i = 0; i < arr.Length; i++){
if (!bedingung(arr[i])) continue; // überspringe den Rest des Schleifenkörpers

// Schleifenkörper bei erfüllter bedingung(arr[i])
};

Keine passende Antwort gefunden?

Fragen Sie die Community