Ich hätte eine Frage bezüglich einer 2-dimensionalen Tabelle und ich hoffe jemand hat einen Rat für mich.
Im Grunde ist es ein dynamisches 2D array bzw. LISTE, welches mit Double Werten befüllt werden soll.
Ich weiß nicht ob es 7 oder 12 Spalten und ob es 300 oder 800 Zeilen werden. Keine fixen Grössen.
Es kommt immer ein String nach dem Musster: "12.00;34.65;45.12;100.00;4.12" daher der nach ";" gesplittet wird und die Zahlen in die nächste Zeile des DataGrids kommen. Jede Zahl kommt in eine Spalte rein.
...
12.00 34.65, 45.12 100.00
...
Was würde sich denn da anbieten um dieses Datagrid mit Werten zu füllen und dann auch bestimmte Werte rauszulesen und in Variablen abzuspeichern?
Ich würde mich am besten über ein Stückchen Code freuen, denn nur ein Hinweis ich solle ArrayList oder List mit ArrayList benutzen, bringt mich alleine nicht viel weiter
das war auch meine Vermutung und schien mir am sinnvollsten, nur die konkrete Umsetzung hatte ich nicht. Deine Lösung sieht mir auf den ersten Blick sehr kompakt und sehr gut aus :applaus:. Danke.
1) List<Double> curLine = new ArrayList<Double>();
da wird doch für jede neue Zeile/String neues Objekt erzeugt. Bei 1000 Zeilen wären das dann 1000 Objekte. Keine Performanceunterschiede ob ich jetzt die Objekte irgendwie für die Spalten (wären halt nur 10) oder Objekte für die Anzahl der Zeilen erstelle?
2) Stellt euch vor, es werden gleichzeitig 100 XML Dokumente geschickt und bei jedem soll nach einem bestimmten String geparst werden und dieser dann korrekt in das Datagrid/Tabelle abgespeichert werden. Nachdem alle String im DataGrid abgespeichert sind, sollte man dann auf den Wert in Zeile x und Spalte y zugreifen können. Alles in c# multithreaded .
Ist das bis jetzt der richtige Ansatz oder würde es noch etwas Besseres geben? Vielleicht ein fertiges DataMatrixModel?
Java:
for(Double d : line)System.out.print(d+"\t");
falls sich jemand fragt:
for(int i=0;i<line.size();i++){
System.out.println(line.get(i));
}
1) List<Double> curLine = new ArrayList<Double>();
da wird doch für jede neue Zeile/String neues Objekt erzeugt. Bei 1000 Zeilen wären das dann 1000 Objekte. Keine Performanceunterschiede ob ich jetzt die Objekte irgendwie für die Spalten (wären halt nur 10) oder Objekte für die Anzahl der Zeilen erstelle?
Öhm, du erstellst keine 1000 Zeilen, sondern ein ArrayList, welches vorerst leer ist.
Wenn du die äußere ArrayList für Spalten benutzt wirst du ggf. Probleme bekommen. z.B.:
Code:
43 65 12 54
65 23 //diese Lücke kannst du nicht darstellen (schon, mit null, ist aber quatsch)
54 12 65 89
2) Stellt euch vor, es werden gleichzeitig 100 XML Dokumente geschickt und bei jedem soll nach einem bestimmten String geparst werden und dieser dann korrekt in das Datagrid/Tabelle abgespeichert werden.
Die 1000 Zeilen bezogen sich auf 1000 mögliche Strings, bei Dir mit Beistrich getrennt sind. Und ich programmier schon hauptsächlich mit Java
läuft aber nun auch mit c# nach ein paar Anpassungen.