Ответ 1
Вы можете просто вызвать
using (StreamWriter w = File.AppendText("log.txt"))
Он создаст файл, если он не существует, и откройте файл для добавления.
Edit:
Этого достаточно:
string path = txtFilePath.Text;
using(StreamWriter sw = File.AppendText(path))
{
foreach (var line in employeeList.Items)
{
Employee e = (Employee)line; // unbox once
sw.WriteLine(e.FirstName);
sw.WriteLine(e.LastName);
sw.WriteLine(e.JobTitle);
}
}
Но если вы сначала настаиваете на проверке, вы можете сделать что-то подобное, но я не вижу смысла.
string path = txtFilePath.Text;
using (StreamWriter sw = (File.Exists(path)) ? File.AppendText(path) : File.CreateText(path))
{
foreach (var line in employeeList.Items)
{
sw.WriteLine(((Employee)line).FirstName);
sw.WriteLine(((Employee)line).LastName);
sw.WriteLine(((Employee)line).JobTitle);
}
}
Кроме того, одна вещь, указывающая на ваш код, заключается в том, что вы делаете много ненужных распаковки. Если вам нужно использовать обычную (не общую) коллекцию, такую как ArrayList
, затем разблокировать объект один раз и использовать ссылку.
Однако я предпочитаю использовать List<>
для моих коллекций:
public class EmployeeList : List<Employee>