C# Zweidimensionales Array in Datatable speichern

destiny

Lt. Junior Grade
Registriert
Okt. 2010
Beiträge
283
Hallo,

ich suche den möglichst performantesten Weg ein zweidimensionales Array in einer Datatable zu speichern.

Leider finde ich dazu nichts im Netz, und das über Schleifen zu realisieren erscheint mir zu ineffektiv.

Grüße, destiny
 
naja du musst jedes feld belgen von daher brauchst du schleifen ^^
 
Aber gleicht die Struktur einer Datatable nicht dem eines 2D-Arrays?

Weil ein SQL-Adapter auch ein Resultset (2D-Array) in eine Datatable presst. Was da im Hintergrund passiert weiß ich nicht, aber mich wundert es, dass es keine Methode gibt mit der ich das ohne Schleifen erledigen kann...
 
Zuletzt bearbeitet:
tja weils mit ner schleife auch ganz easy geht ^^

kannst dir ja selbst ne methode schreiben die dir das macht
fallst du es öfters aufrusft sparts dir ein paar zeilen code damit
mehr aber auch ned
einfach 2 for schleifen verschachteln fertig ^^
 
hmmm....mein Problem ist folgendes. Ich habe etwa 50 Excel-Dateien. Aus denen wird jeweils eine Range von (bisher) 2x40 [SpaltenxReihen] verwurstet. Bisher über COM, vllt stell ich aber noch auf OleDB um. Das ganze ist zwar nicht besonders langsam aber auch nicht besonders schnell.
Ich überleg halt, wie ich das ganze prinziepiell beschleunigen könnte.

PS: eigentlich gehts mir auch gar nicht so um die Zeit, die ich vllt herausholen könnte, sondern viel eher darum einen möglichst sauberen Code zu schreiben und da sehen verschachtelte Schleifen oftmals nicht so schön aus. Deshalb die Frage nach der Alternative, die es aber leider nicht zu geben scheint.
 
Zuletzt bearbeitet:
Gar nicht, selbst ein Datatable wird über ne Schleife befüllt, wie auch sonst, du musst ja die Indizes ansprechen.
Das einzige was dir übrig bleibt ist das gescheit aufzuteilen und dann zu parallelisieren wenn das auf dem Zielssystem möglich ist, ansonsten musst du dich damit abfinden, Excel ist halt nich das schnellste was es gibt, besonders über die Com-Schnittstelle.
 
wie gesagt bau dir ne eigene methode dafür der du datas und target übergibst

damit hast du die schleifenstruktur nur 1 mal
und dein code is wieder "sauber"
Ergänzung ()

und verschachtelte schleifen sind die einzige möglichkeit 2dim arrays durchzugehn xD
warum dann unsauberer code?
 
du kannst dir eine Klasse schreiben und dort deine 2 werte ablegen. Hier hast du dann nur 1 dim array... musst du halt die beide elemente irgendwie heraushollen, wie du es halt brauchst.

Code:
class blub
{
    punblic int id;
    public String value;
}

Ich habe gar keine Ahnung wie du auf die Daten zugreifst... du kannst ja jedes mal eine instanz von blub erzeugen und dann eine LIST<blub> hinzugeben und später wieder abrufen.
 
Zurück
Oben