У вас одновременно открываются FileStream
и StreamWriter
для одного и того же файла, это приведет к ошибке.
Удаление строки
FileStream fs = new FileStream("myfile.txt",FileMode.Create,FileAccess.ReadWrite);
и замена
StreamWriter sw = new StreamWriter(@"myfile.txt");
sw.Write(sb.ToString());
с
using (TextWriter tw = File.CreateTex("myfile.txt")) {
tw.Write(sb.ToString());
}
должен сделать трюк.
Редактировать: Ваша программа делает именно то, что вы сказали ей делать.
Итак, вот функциональность, которую я считаю , которую вы хотите достичь:
кейс "1":
// Добавить список для хранения информации
Console.WriteLine ( "В");
//capture details
a.Add("Name: ");
a.Add("Surname: ");
a.Add("Address: ");
a.Add("Telephone: ");
a.Add("Cell: ");
a.Add("Email: ");
a.Add("Web: ");
a.Add("Date: ");
StringBuilder sb = new StringBuilder();
foreach (string i in a)
{
Console.Write(i);
var entry = Console.ReadLine();
sb.AppendFormat("{0}{1}\n", i, entry);
}
using (TextWriter tw = File.AppendTex("myfile.txt")) {
tw.Write(sb.ToString());
tw.WriteLine("-------------------------------------------------");
}
break;