Чтение определенных слов и запись в переменные - C#
Формулировка задачи:
System IO считывание определенных слов и запись в переменные.
у меня есть клас под названием Human и он состоит из переменных: string имя int возраст bool работает или нет
у меня есть текстовый файл:
---------------------
работники:
Вася(25)
марина(26)
Бездельники:
Дима(32)
Никита(28)
----------------------
как это реализовать что бы программа прочитала этот файл и записала этих людей? ну то есть вася human = new human(...) итд
можете показать и на более простых примерах
Решение задачи: «Чтение определенных слов и запись в переменные»
textual
Листинг программы
class Human
{
public string Name { get; set; }
public int Age { get; set; }
public bool Works { get; set; }
}
class Program
{
static void Main(string[] args)
{
var humans = new List<Human>();
bool? isEmployee = null;
foreach (string line in File.ReadAllLines("file.txt", Encoding.UTF8))
{
if (String.Equals(line, "работники:", StringComparison.OrdinalIgnoreCase))
{
isEmployee = true;
continue;
}
if (String.Equals(line, "Бездельники:", StringComparison.OrdinalIgnoreCase))
{
isEmployee = false;
continue;
}
if (isEmployee != null)
{
int ageSubstringStartIndex = line.IndexOf('(') + 1;
int ageSubstringLength = line.IndexOf(')') - line.IndexOf('(') - 1;
humans.Add(new Human
{
Name = line.Remove(line.IndexOf('(')),
Age = Convert.ToInt32(line.Substring(ageSubstringStartIndex, ageSubstringLength)),
Works = (bool)isEmployee
});
}
}
}
}