@AdTheBisto

C# Как правильно считать данные в массив с файла через StreamReader?

По заданию, есть базовый класс Human, который имеет в себе переменные Name, LastName, Age и 3 наследующих класса Student, Teacher, TaxiDriver, у которых также свои параметры. Нужно считывая из одного .txt файла данные заполнить 3 объекта ученика, учителя, и водителя, имея следующую структуру файла:

Student SOne
{ “Name”: “Андрей”,
“LastName”: “Егоров”,
“studentId”: “123456”
“Age”: “20”};

Teacher TOne
{ “Name”: “Иван”,
“LastName”: “Корчистый”,
“Subject”: “ООП”,
“Age”: “32”};

TaxiDriver DOne
{ “Name”: “Александр”,
“LastName”: “Серый”,
“TaxiName”: “777”,
“Age”: “40”};


Где первое значение (Name, LastName, Age и т.д.) это название переменной, а второе значение - это сами данные.
По заданию необходимо использовать StreamReader, и заполнить каждый объект массивом данных (именно массив, не список) но не могу понять как считать с файла данные и заполнить 3 разных объекта разных классов, да еще и такой структуры, помогите пожалуйста.
  • Вопрос задан
  • 577 просмотров
Решения вопроса 1
shai_hulud
@shai_hulud
Читаете построчно через StreamReader.ReadLine() и регуляркой получаете из каждой строки по 2 значения отбрасывая все другие символы (скобки. запятые, двоеточия). Как построить парсинг и интерпретацию этих двух значений решать вам. Но я бы сделал стейтмашину на 3х стейтах: Чтение заголовка, чтения полей, конец записи.

П.с. да я вижу что это JSON, но это ловушка, в задании не сказано про него.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы