dipps
Goto Top

öffentliches Array mit unbekannter Länge in C Sharp in C Sharp

öffentliches Array mit unbekannter Länge in C Sharp

Hallo

ich habe ein 2 Dimensonales Array was öffentlich ist.
public string[,] person = new string[?,3];
Wobei ich die länge von ? noch nicht weiss.
es wird beim Formload eine Datenbank abfrage gemacht und dann in das Array geschrieben wie kann ich das Fragezeichen freilassen?
C# möchte ja unbedingt eine Zahl.

Content-Key: 170431

Url: https://administrator.de/contentid/170431

Printed on: April 24, 2024 at 12:04 o'clock

Member: Florian.Sauber
Florian.Sauber Jul 26, 2011 at 19:20:18 (UTC)
Goto Top
Hallo auch,

meine praktische Erfahrung mit C# hält sich in Grenzen, aber ich kenn sog. Arraylist-Klassen. Sollte in C# auch vorghanden sein. Einfach mal googlen. Zusätzlich könnte Dir das Stichwort "Mehrdinmensionale dynamische Arrays" weiterhelfen.

Grüße Florian
Member: Jenna86
Jenna86 Jul 27, 2011 at 13:00:40 (UTC)
Goto Top
Hallo auch,

Ich frage mich eigentlich gerade, warum du das nicht initialisierst, sobald du weißt, wieviele Daten vorhanden sind?!

Wenn du die Datenbank abgefragt hast du doch die entsprechenden Werte?


Ansonsten könntest du auch ein DataTable benutzen.

Du erstellst quasi eine "Tabelle" wie in SQL mit z.B. zwei Spalten.
Dann kannst du anschließend einfach hingehen und Zeilen hinzufügen in beliebiger Menge.


Hier ein Beispiel, was ich fix beim Googlen gefunden habe:
DataTable dt = new DataTable("MeineTable");  
dt.Columns.Add("Spalte 1");  
dt.Columns.Add("Spalte 2");  

DataRow dr = dt.NewRow();
dr["Spalte 1"] = "Zelle (0;0)";  
dr["Spalte 2"] = "Zelle (0;1)";  
dt.Rows.Add(dr);

dr = dt.NewRow();
dr["Spalte 1"] = "Zelle (1;0)";  
dr["Spalte 2"] = "Zelle (1;1)";  
dt.Rows.Add(dr);
MessageBox.Show(dt.Rows[1]["Spalte 2"].ToString());  

Ich selbst hab das DataTable in Verbindung mim DataSet benutzt um Daten aus einer Textdatei mit Hilfe eines Parsers in XML zu schreiben. Dafür ist das auch ziemlich hilfreich.

Grüße
Jenna


EDIT ( ich hab nochmal schnell meinen Code fürs XML-Schreiben rausgesucht, das sollte dir auch helfen ):

Initialisierungen durchführen
            DataSet ds = new DataSet("DataSetName");  
            DataTable dt = ds.Tables.Add("TableName");  
            String cols = dataToParse;
Die Spalten festlegen ( in meinem Fall waren die in der ersten Zeile der Textdatei festgelegt )
foreach (String col in cols)
            {
                dt.Columns.Add(col);
            }
Anschließend die restlichen Zeilen reinpacken und in XML schreiben
for (int i = 1; i < dataToParse.Count; i++)
            {
                dt.Rows.Add(dataToParse[i]);
            }

            ds.WriteXml(outputpath);

Ich hoffe das hilft dir!

Grüße
Jenna
Member: Dipps
Dipps Jul 28, 2011 at 06:46:06 (UTC)
Goto Top
Ich danke euch!

Habe es jetzt wie folgt gelöst.

public string[,] person;

//später schau ich in der DB und zähle die Anzahl

//danach mach ich

person = new string[i, 3];

Das funktioiert auch sehr gut so.