Ich habe früher in Delphi programmiert und da gern Records oder Arrays aus Records genutzt. Was ist denn die äqivalente Verfahrensweise in C#? Ein Struct? Oder gibts da noch was anderes ...
struct bzw class, je nachdem ob Du einen Value- oder einen Referencetype haben willst.
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
ich will eine ini Datei einlesen, die im csv Format vorliegt.
z.B.
[PRE]string keyword1;string keyword2;date datum;int zahl;string name
string keyword1;string keyword2;date datum;int zahl;string name
string keyword1;string keyword2;date datum;int zahl;string name[/PRE]
usw.
Dann mache ich da ein struct draus
struct ini
{
string keyword1,
string keyword2,
date datum,
int zahl,
string name
}
und dann ?
Was meinst Du mit "und dann"?
Wo genau liegt das Problem, bzw was genau ist Deine Frage?
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
sorry - war wohl etwas unklar formuliert ...
also wenn ich das recht verstehe, ist ein struct ja so was wie eine Klasse. Also mache ich daraus kein Array, sondern Objekte. Wie greife ich denn darauf zu.
Bei einem Array of Record würde ich mit datensatz[2].keyword1 auf das Element zugreifen. Wie gehe ich denn bei einem struct vor?
Also mache ich daraus kein Array, sondern Objekte.
fast... du brauchst ein Array aus Objekten.
Mit File.OpenRead(..) und String.Split(...) sollte das einlesen keine Probleme darstellen.
Religionskriege sind Konflikte zwischen erwachsenen Menschen, bei denen es darum geht, wer den cooleren, imaginaeren Freund hat
d.h.
// array List definieren
ArrayList list = new ArrayList();
// struct definieren
public struct iniDatei
{
string name,
int alter
}
// dann deklarieren
iniDatei datensatz;
datensatz.name = "PETER";
datensatz.alter = 30;
füllen / in ArrayList schreiben
list.add(datensatz);
// und dann zugriefen über
list[0].name
meint Ihr das so?
@bert21:
Hör einfach auf in Delphi zu denken.
1.
In .NET gibt es 2 selbsterstellbare typen.
Struct und Class.
Wer eine Struct benutzt muss schon genau wissen was er tut, also für dich eher Class.
2.
Dynamische Mengen werden nicht in Arrays gespeichert, sondern in Listen/Dictionaries o.ä.
In deinem Fall würde sich da ein Dictionary anbieten, dann kannst du per Name auf den eintrag zugreifen.
ArrayList gehört seit 2004 in die Mottenkiste.
3.
Wenn das eine Legacy Anwendung ist, ist das mit den INI's OK, ansonsten benutze das
im FW vorhandene system der ConfigFiles.
Auch bei .NET gibt es genauso wie z.b. torry.ru/net/com haufenweise libs,
die dir solche sachen abnehmen.
Für dein Vorhaben wäre FileHelper ideal.
http://www.filehelpers.com/
Hallo bert21,
beachte bei weiteren Fragen bitte auch [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
herbivore
Hat sich für mich am Anfang irgendwie eher nach einem ADO Record angehört. Auch wenn die Frage grundsätzlich schon beantwortet ist:
CSV-Dateien in DataTable einlesen