Чтение текстового файла с использованием OpenFileDialog в формах Windows
Я новичок в функции OpenFileDialog, но основы выяснил. Что мне нужно сделать, это открыть текстовый файл, прочитать данные из файла (только текст) и правильно разместить данные в отдельных текстовых полях в моем приложении. Вот's, что у меня есть в моемоткрыть файл" обработчик события:
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog theDialog = new OpenFileDialog();
theDialog.Title = "Open Text File";
theDialog.Filter = "TXT files|*.txt";
theDialog.InitialDirectory = @"C:\";
if (theDialog.ShowDialog() == DialogResult.OK)
{
MessageBox.Show(theDialog.FileName.ToString());
}
}
Текстовый файл, который мне нужно прочитать, это (для домашней работы мне нужно прочитать этот точный файл). Он содержит номер сотрудника, имя, адрес, зарплату и отработанные часы:
1
John Merryweather
123 West Main Street
5.00 30
В предоставленном мне текстовом файле еще 4 сотрудника с информацией сразу после этого в том же формате. Вы можете видеть, что заработная плата и часы работника находятся на одной линии, а не опечатка.
У меня есть класс сотрудников здесь:
public class Employee
{
//get and set properties for each
public int EmployeeNum { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public double Wage { get; set; }
public double Hours { get; set; }
public void employeeConst() //constructor method
{
EmployeeNum = 0;
Name = "";
Address = "";
Wage = 0.0;
Hours = 0.0;
}
//Method prologue
//calculates employee earnings
//parameters: 2 doubles, hours and wages
//returns: a double, the calculated salary
public static double calcSalary(double h, double w)
{
int OT = 40;
double timeandahalf = 1.5;
double FED = .20;
double STATE = .075;
double OThours = 0;
double OTwage = 0;
double OTpay = 0;
double gross = 0; ;
double net = 0;
double net1 = 0;
double net2 = 0;
if (h > OT)
{
OThours = h - OT;
OTwage = w * timeandahalf;
OTpay = OThours * OTwage;
gross = w * h;
net = gross + OTpay;
}
else
{
net = w * h;
}
net1 = net * FED; //the net after federal taxes
net2 = net * STATE; // the net after state taxes
net = net - (net1 + net2);
return net; //total net
}
}
Поэтому мне нужно вытащить текст из этого файла в мой класс Employee, а затем вывести данные в правильное текстовое поле в приложении Windows Form. У меня проблемы с пониманием, как сделать это правильно. Нужно ли использовать потоковый ридер? Или есть другой, лучший способ в этом случае? Спасибо.