Запись в файл из массива объектов и чтение обратно в массив - C#
Формулировка задачи:
Прошу помощи
Приблизительно вот такой код
ну и, обработчик записи в файл
Запись в файл-то нормально. Как загрузить в таком же порядке обратно?
class A
{
public int Element { get; set; }
public string Element2 { get; set; }
public A(int el, string el2)
{
Element = el;
Element2 = el2;
}
}
class B
{
public A ElementA { get; set; }
public B(A elA)
{
ElementA = elA;
}
}private void Button_Click_1(object sender, RoutedEventArgs e)
{
A a = new A(3, "aaaaa");
A a1 = new A(4, "bbbbb");
A a2 = new A(5, "ccccc");
List<A> listA = new List<A>();
listA.Add(a);
listA.Add(a1);
listA.Add(a2);
B b = new B(a);
B b1 = new B(a1);
B b2=new B(a2);
List<B> listB = new List<B>();
listB.Add(b);
listB.Add(b1);
listB.Add(b2);
using (StreamWriter sw = new StreamWriter(@"G:\test.txt"))
{
foreach (B temp in listB)
{
sw.WriteLine(temp.ElementA.Element + " " + temp.ElementA.Element2);
}
}
}Решение задачи: «Запись в файл из массива объектов и чтение обратно в массив»
textual
Листинг программы
string filename = "P:\\abc.txt";
List<B> listB = new List<B>();
using (var sr = new StreamReader(filename))
{
while (!sr.EndOfStream)
{
string line = sr.ReadLine();
int n, p = line.IndexOf(' ');
if (p > 0 && int.TryParse(line.Substring(0, p), out n))
{
listB.Add(new B(new A(n, line.Substring(p + 1))));
}
}
}