Lesen von Daten aus einer Datei in ein array von class-Objekten
Bin ich beim Lesen von Daten aus einer Datei, die ich brauche, in mein array von Objekten (myEmployees). Ich glaube, mein code ist korrekt bis zum Ende dieses Beispiel, aber ich bin nicht sicher, wie Sie Sie zum Lesen der Daten aus der Datei, teilen Sie es, und dann legte Sie richtig in mein array von class-Objekten.
//declare an array of employees
Employee[] myEmployees = new Employee[10];
//declare other variables
string inputLine;
string EmpName;
int EmpNum;
double EmpWage;
double EmpHours;
string EmpAdd;
//declare filepath
string environment = System.Environment.GetFolderPath
(System.Environment.SpecialFolder.Personal) + "\\";
//get input
Console.Write("\nEnter a file name in My Documents: ");
string input = Console.ReadLine();
string path = environment + input;
Console.WriteLine("Opening the file...");
//read file
StreamReader myFile = new StreamReader(path);
inputLine = (myFile.ReadLine());
Also ich lese Daten aus einer Datei, die aufgebaut ist wie:
Employee Number
Employee Name
Employee Address
Employee wage Employee Hours
Muss ich Lesen Daten aus dieser Datei und parse es in die Riege der Mitarbeiter, die ich erstellt habe. Hier ist die Klasse, die Daten für die Employee-Klasse:
public void Employeeconst ()
{
employeeNum = 0;
name = "";
address = "";
wage = 0.0;
hours = 0.0;
}
public void SetEmployeeNum(int a)
{
employeeNum = a;
}
public void SetName(string a)
{
name = a;
}
public void SetAddress(string a)
{
address = a;
}
public void SetWage(double a)
{
wage = a;
}
public void SetHours(double a)
{
hours = a;
}
public int GetEmployeeNum()
{
return employeeNum;
}
public string GetName()
{
return name;
}
public string GetAddress()
{
return address;
}
public double GetWage()
{
return wage;
}
public double GetHours()
{
return hours;
}
- Harvey, Was ist der Grund für das löschen meiner Antwort. Bitte lassen Sie mich wissen, damit ich nicht den Fehler wiederholen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstens, ich würde vorschlagen, um das Design Ihrer Mitarbeiter-Klasse mit Eigenschaften, die besser lesbar und besser folgt Prinzipien der objektorientierten Programmierung:
Auch wrappen StreamReader in 'mit' keyword, welches dafür sorgt, dass die Datei wird korrekt geschlossen. Der rest des Programms ist einfach, Lesen Sie Ihr-Datei Zeile für Zeile bis Ende der Datei. Analysieren Sie jede Zeile auf die gewünschte Art und legen Wert auf Mitarbeiter-Objekt:
Ich nicht eny Fehlerüberprüfung in meinem Beispiel-code, also ist es bis zu Ihnen, es zu tun.
Ich würde vorschlagen es zu Lesen, Zeile für Zeile
Siehe Beispiel hier auf der MSDN-Website
http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx
Für jede Zeile, die Sie Lesen, Sie haben einen string - teilen Sie diesen string in ein array mit string.Split.
Ich würde vorschlagen, jedoch die Handhabung der string-input für doublespaces, etc.
Konnten Sie so etwas tun, um loszuwerden, doppelte Leerzeichen.