Hallo Ich versuche eine Atomsimulationsanwendung als mein Schulprojekt zu machen. Ich habe Arrays von jedem Element erstellt, die ich wie in Atomic Nummer speichern werde. Die Atomic Nummer wird in Symbol H gespeichert und so weiter. Ich habe die Datei mit Stream-Reader gelesen, aber ich habe Schwierigkeiten, jedes Element in das richtige Array zu lesen.Wie man eine Reihe von Linien einfügt und jedes Element in verschiedene Arrays einfügt
Txt-Datei ist hier
1,H,Hydrogen,1,1+
3,Li,Lithium,7,1+
11,Na,Sodium,23,1+
19,K,Potassium,39,1+
37,Rb,Rubidium,85,1+
55,Cs,Casesium,133,1+
87,Fr,Francium,223,1+
4,Be,Beryllium,9,2+
12,Mg,Magnesium,24,2+
20,Ca,Calcium,40,2+
38,Sr,Strontium,88,2+
56,Ba,Barium,137,2+
88,Ra,Radium,226,2+
5,B,Boron,10,3+
13,Al,Aluminium,27,3+
31,Ga,Gallium,70,3+
49,In,Indium,115,3+
81,Tl,Thallium,204,3+
6,C,Carbon,12,0
14,Si,Silicon,28,0
32,Ge,Germanium,73,0
50,Sn,Tin,119,0
82,Pb,Lead,207,0
7,N,Nitrogen,14,3-
15,P,Phosphorus,31,3-
33,As,Arsenic,75,3-
51,Sb,Antimony,122,3-
83,Bi,Bismuth,209,3-
8,O,Oxygen,16,2-
16,S,Sulfur,32,2-
34,Se,Selenium,79,2-
52,Te,Tellurium,128,2-
84,Po,Polonium,209,2-
9,F,Fluorine,19,1-
17,Cl,Chlorine,35,1-
35,Br,Bromine,80,1-
53,I,Iodine,127,1-
85,At,Astatine,210,1-
2,He,Helium,4,0
10,Ne,Neon,20,0
18,Ar,Argon,40,0
36,Kr,Kryoton,85,0
54,Xe,Xenon,131,0
86,Rn,Radon,222,0
.
struct TAtom
{
public int atomicNumber;
public string symbol;
public string name;
public int mass;
public string charge;
}
class Atom
{
static void Main(string[] args)
{
{
TAtom[] Atom = new TAtom[44];
Atom[0].atomicNumber = 1;
TAtom[] Symbol = new TAtom[44];
Symbol[1].symbol = "";
TAtom[] Name = new TAtom[44];
Name[2].name = "";
TAtom[] Mass = new TAtom[44];
Mass[3].mass = '1';
TAtom[] Charge = new TAtom[44];
Charge[4].charge = "";
string[] words;
StreamReader File = new StreamReader(@"JUNK1.txt");
while (File.EndOfStream == false)
{
string line = File.ReadLine();
words = line.Split(',');
}
File.Close();
}
}
}
Warum speichern Sie alle Werte in völlig separaten Arrays von 'TAtom' Objekten? Würde nicht jede "Aufzeichnung" ein einzelnes "TAtom" -Objekt repräsentieren? Was die Frage betrifft, was hast du versucht? Du machst nichts mit der Variable 'words'. – David
Was ich versuche zu tun ist, einen Wert aus der Textdatei zu bekommen und dann in separate Arrays zu speichern, die dem entsprechen, nach dem ich suche.Zum Beispiel möchte ich alle meine Ordnungszahlen in Atomic Number, Symbol in Symbole und so weiter gespeichert werden. Diese Arrays können später zum Nachschlagen bestimmter Werte verwendet werden. Mein Lehrer hat empfohlen, struct zu verwenden, von dem ich keine Ahnung habe, dass ich ihn verwende. Ich weiß also nicht, was ich gerade mit diesem Code mache. –
Dieser Ansatz macht keinen Sinn. Sie sollten wirklich eine einzelne TAtom-Instanz für jede Datenzeile erstellen. Betrachten Sie als eine Analogie, Speichern von Autos in einem Parkhaus. Normalerweise enthält jeder einzelne Raum ein einzelnes und komplettes Auto. Was Sie tun, ist ein Platz für alle Lenkräder, ein Platz für alle Reifen, ein Platz für alle Windschutzscheiben, etc. Und Sie zerlegen jedes Auto, wie es in die Garage kommt, legen Sie die Komponenten in die Räume, und dann planen Sie jedes Auto neu zu montieren, wie es die Garage verlässt. Während es "funktioniert", ist es ziemlich ineffizient und fehleranfällig. – David