C# Csharp (Konsolenanwendung). Frage bezüglich String Arrays. Kann mir wer helfen?

...komplette Frage anzeigen Mein Programmcode... - (Windows, programmieren, Code)

3 Antworten

Arrays eignen sich am besten für Listen, deren Länge sich nicht ändert.

// Deklaration:
String[anzahl_Artikel] artikelliste;

// Zu beachten: anzahl_Artikel sollte am Anfang bekannt sein

// Verwendung
// Zuweisen eines Elements
artikelliste[i] = artikelname; // 0 <= i && i < anzahl_Artikel

// Auslesen eines Elements z. B.
Console.WriteLine(artikelliste[i]);

Für Listen, die nach ihrer Erzeugung erweitert werden, nimm am besten eine dynamische Liste:

// Deklaration und Initialisierung
System.Collections.Generic.List<String> artikelliste = new System.Collections.Generic.List<String>();

// Verwendung
// Anhängen eines neuen Elements
artikelliste.Add(artikelname);

// Auslesen eines Elements z. B.
Console.WriteLine(artikelliste[i]);

(Letztlich dürfte das keine Rolle spielen, da beide Möglichkeiten System.Collections.Generic.IList<String> implementieren und vermutlich intern gleich implementiert sind.)

PWolff 18.12.2015, 12:48

Hab mir grade mal das Bild näher angesehen - es würde mich wundern, wenn es funktioniert, wenn im "switch"-Statement "default" an erster Stelle kommt. (default passt nämlich auf alles.)

2
PwngyHD 18.12.2015, 19:16
@PWolff

Hey PWolff :)

Ich bedanke mich für deine Super erklärung! Probiere ich morgen aus :)

Liebe grüsse und schöne Festtage :)
PwngyHD

0

http://pastebin.com/VhYAqRb1

Der Code wird hier leider nicht ordentlich formatiert :(

Ich glaube das sollte reichen ;) 

PwngyHD 18.12.2015, 19:16

Hey Boboo1234 :)

Ich bedanke mich für deinen hilfreichen beitrag! :)

Liebe grüsse und schöne Festtage :)
PwngyHD

0
GustavAT 19.12.2015, 14:39

Methoden für diese "hochkomplexen" Operationen wie die Anzahl der Elemente der Liste zu bekommen sind zu viel des guten, da sie ohnehin nur Einzeilerer sind. Das gleiche gilt fürs Einfügen, Löschen etc. Außerdem brauchst du, z.B. beim Einfügen, nicht die Liste extra mit return zurückgeben, da das Element sowieso in der gleichen Liste eingefügt wird.

0

Für deine Anforderungen eignet sich eine Liste am besten, da du ohne viel Programmieraufwand Elemente einfügen, löschen etc. kannst.

// Liste erstellen
var articles = new List<string>();
// Elemente einfuegen
var myArticle = "Brot";
articles.Add(myArticle);
// Element loeschen
var articleToDelete = "Brot";
articles.Remove(articleToDelete);
// Anzahl der Elemente bekommen
var cnt = articles.Count();
// Elemente in der Liste suchen
var articleToFind = "Brot";
var result = articles.Find(x => x.EqualsIgnoreCase(articleToFind).ToList();

Die Variable result ist wiederum eine Liste, die die gefunden Artikel entält.

// Alle Artikel ausgeben/iterieren
foreach(var article in articles) {
    // in article ist der aktuelle Artikel
    Console.WriteLine("Artikel: {0}", article);
}

Was möchtest Du wissen?