Laden...

Ausgeben von Objekten aus Arraylist in eine csv Datei

Erstellt von loug vor 8 Jahren Letzter Beitrag vor 8 Jahren 3.497 Views
L
loug Themenstarter:in
5 Beiträge seit 2015
vor 8 Jahren
Ausgeben von Objekten aus Arraylist in eine csv Datei

Hallo zusammen!,

ich bin C# Einsteiger und komme auch nach einiger Rechersche nicht weiter 🤔

Ich habe eine Arraylist mit einer double variable und einer string variable, eine Liste mit zwei Spalten und unbegrenzt Zeilen.

Nun möchte ich gerne die Objekte nach ein ander auslesen(automatisch) und in eine csv Datei schreiben.

Die Methoode um die Datei zu erstellen kenne ich.

Für das automtische Auslesen habe ich mir eine for Schleife gedacht, aber ich habe noch Probleme dabei wie in diesem Fall auf das Array zugegriffen wird...da fehlt mir der Ansatz.
Ich hätte gedacht, dass in der for Schleife die Idexnummern der Zeilen ausgelesen werden könnten und diese als Variable fürs System.IO.File... genommen wird. Die zweite Varible wäre dann die Spaltennummer.

Hätte jemand villeich einen Ansatz für mich, oder ein Programmbeispiel?

Vielen Dank schonmal!

Gruß

D
985 Beiträge seit 2014
vor 8 Jahren

Schau dir mal GitHub - FileHelpers an.

Der Export ist mit einer Zeile Code erledigt

L
loug Themenstarter:in
5 Beiträge seit 2015
vor 8 Jahren

Wenn das so einfach ist, dann würde ich dich doch bitten mir ein Beispiel zu zeigen, statt einen Webserver mit 200 Codebeispielen.

Nicht dass ich faul wäre mir das alles durchzulesen, aber wenn ich den Ansatz schon selbst nicht verstehe, kann ich den auch nicht aus zig Zeilen Programmcode raussuchen.

16.841 Beiträge seit 2008
vor 8 Jahren

Das Forum ist nicht dazu da, dass es Deine Hausaufgaben machen soll.
Etwas mehr Eigeninitative wäre angebracht. Siehe dazu auch [Hinweis] Wie poste ich richtig? Punkt 4, 4.1 und 4.2

Und sorry wenns nun sehr direkt wird aber wenn Du keine Lust hast andere Implementierungen anzuschauen, um etwas zu lernen, dann würde ich nochmal überlegen, ob Software Entwicklung der richtige Job ist 😉

L
loug Themenstarter:in
5 Beiträge seit 2015
vor 8 Jahren

Ich weis ja nicht wie ihr sowas gelernt habt. Aber wenn man nicht etwas vorgemacht bekommt, lernt man auch schwer.

Und wie gesagt, ich bin Einsteiger...da hab ich von 50% die da geschrieben wird noch keine Ahnung.

Ich habe ja meinen Ansatz gepostet...bis jetzt hat noch keiner was dazu gesagt.

Tolles Forum...weiter so...scheint so als ob ihr unter euch bleiben wollt.. 👍

16.841 Beiträge seit 2008
vor 8 Jahren

Lernst Du wirklich davon, dass Du Dir Code kopierst, den Du gar nicht verstehst?
Das bezweifle ich (übrigens auch andere: [FAQ] Wie finde ich den Einstieg in C#?) massiv - aus Erfahrung.

Ich könnte Dir jetzt erst mal sagen, dass ArrayList obsolete ist und man stattdessen mit typisierten Collections (zB List<T>) arbeitet; die Nachteile aktuell verstehst Du vermutlich nicht.
Das Problem der untypisierten Liste wirst Du früher oder später ohnehin lernen - oder direkt verstehen, wenn man C# verstanden hat, indem man ein Einsteigerbuch liest. 😉

Wie man Dein Problem löst; das lernen bei uns Azubis in der 2. oder 3. Schulstunde; mit Hilfe der entsprechenden Schleifen und Arrays.
Selbst die Dokumentation hat fertigen Code wie man Array ausliest: C# Array-Klasse. ⚠

Du bist auch nicht der erste Einsteiger, der vor diesem Problem steht und Du wirst es auch kaum glauben: sicherlich auch nicht der letzte. =)
Wir helfen hier gerne und es gibt auch einen entsprechenden Anfängerbereich; aber manchmal ist es auch einfach nur das Ausnutzen der Helfer (ex: los, gibt mir fertigen Quellcode!) obwohl 90% des "geforderten Quellcodes" einfach schon in der Dokumentation zu finden ist - wenn man sie denn lesen würde.

Also: wieso versuchst Du Deinen Ansatz nicht einfach aus? 🤔

D
985 Beiträge seit 2014
vor 8 Jahren

Also ich kann dir noch ganz frisch sagen, wie ich das gelernt habe, denn ich beschäftige mich (ernsthaft) mit C# erst seit ein paar Wochen.

Ich habe mir die Seite, die ich dir per Link geschickt habe genau angeschaut und schon war es mir klar.

Denn da steht ein Code-Beispiel (wenn man das lesen möchte und will)

L
loug Themenstarter:in
5 Beiträge seit 2015
vor 8 Jahren

Dann wäre ich dir dankbar Sir Rufo, wenn du mir den link zu dem entsprechenden Beispiel schickst.
Da das für mich alles neu ist kann ich mir zwar alles anschauen, weis aber nicht was ich davon gebrauchen kann...bzw was zu meinem Problem passt.

@Abt
Es ist ja schön, dass man bei euch sowas in der zweiten/dritten Schulstunde lernt...nur leider komme ich nicht aus dem IT Bereich, sondern lerne C# in der Technikerschule. Da wird nichtmal drauf eingegangen was eine Methode ist...

Unser Lehrer hat uns ArrayList vorerst gezeigt, nach einigem Recherschieren wusste ich auch schnell warum und dass List<T> besser ist.

Ich habe hier nie jemanden nach dem Fertigen Code gefragt, sondern nach einem Ansatz...aber das ist ja anscheinend auch zu viel.

Wäre es sinnvoll sowas zu machen:

string[,] neuesArray = new string[100,2]    //Zeilenbegrenzung auf 100, zwei Spalten
ArrayList.CopyTo(neuesArray, 0);              //Elemnte aus der Arraylist ab Index 0 in neues Array Kopieren
D
985 Beiträge seit 2014
vor 8 Jahren

Hmmm, du willst mir also jetzt sagen, dass du es nicht schaffst auf den Link zu klicken und dir diese dann erscheinende Seite anzuschauen?

Ok, nochmal für ...

Klick auf den Link und lese (kein weiteres Geklicke, nur lesen!)

L
loug Themenstarter:in
5 Beiträge seit 2015
vor 8 Jahren

Achso, du meinst den Code weiter unten...

Mit NET Bibliotheken hab ich mich noch nicht beschäftigt, auch sollen wir dies ohne zusätzliche Bibliotheken lösen.

Bis jetzt hab ich folgenden Code:

public void ListeExportieren()
        {
            int i;

            for (i = 0; i < arraylist.Count; i++)
            {
                
                string[] myArray = (string[])arraylist.ToArray(typeof(string));
                System.IO.File.WriteAllLines(@"C:\Benutzer\XXX\Desktop.csv", myArray);
            }
            
        }

Der Compiler gibt keine Fehlermeldung aus und die for Schleife zählt die Anzahl der Objekte in der ArrayList...nur leider wird mir noch keine Datei ausgegeben...ich vermute mal das die Konvertierung von objekt nach string noch nicht klappt...

2.207 Beiträge seit 2011
vor 8 Jahren

Das findest du ganz leicht mit dem Debugger heraus.

[Artikel] Debugger: Wie verwende ich den von Visual Studio?

Gruss

Coffeebean

5.658 Beiträge seit 2006
vor 8 Jahren

Hi loug,

ich vermute mal das die Konvertierung von objekt nach string noch nicht klappt...

Genau aus diesem Grund wurde bereits der Hinweis gegeben, daß

ArrayList obsolete ist und man stattdessen mit** typisierten Collections** (zB List<T>) arbeitet

(Hervorhebung von mir)

Christian

Weeks of programming can save you hours of planning