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-ID: 170431

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

Ausgedruckt am: 25.11.2024 um 12:11 Uhr

Florian.Sauber
Florian.Sauber 26.07.2011 um 21:20:18 Uhr
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
Jenna86
Jenna86 27.07.2011 um 15:00:40 Uhr
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
Dipps
Dipps 28.07.2011 um 08:46:06 Uhr
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.