Реализация поиска по ФИО в файле - C#
Формулировка задачи:
Здравствуйте,подскажите пожалуйста,как реализовать поиск.Есть код: вводим данные(ф.и.о. и т.д.) в консоль,данные записываются в файл,или же считываем данные из файла, нужно реализовать поиск по 1 из типов данных, например, по имени.Подскажите как правильно это реализовать?Сделать считывающий потом и сравнить с данными введенными для поиска?
Решение задачи: «Реализация поиска по ФИО в файле»
textual
Листинг программы
using System; using System.Xml.Serialization; using System.Collections.Generic; using System.IO; class Program { static void Main(string[] args) { Persons persons = new Persons(); persons.Add(new Person() { Name = "qq", Surname = "rr" }); persons.Add(new Person() { Name = "ww", Surname = "tt" }); persons.Add(new Person() { Name = "qq", Surname = "yy" }); persons.Save("Persons.xml"); persons = Persons.Load("Persons.xml"); persons.Add(new Person() { Name = "uu", Surname = "ii" }); foreach (Person p in persons.Search("qq")) Console.WriteLine(p); } } public class Person { public string Name; public string Surname; public override string ToString() { return Name + " " + Surname; } } public class Persons { public List<Person> persons = new List<Person>(); public void Add(Person person) { persons.Add(person); } public void Save(string path) { XmlSerializer xml = new XmlSerializer(typeof(Persons)); StreamWriter sw = new StreamWriter(path); xml.Serialize(sw, this); sw.Close(); } public static Persons Load(string path) { Persons persons; XmlSerializer xml = new XmlSerializer(typeof(Persons)); StreamReader sr = new StreamReader(path); persons = (Persons)xml.Deserialize(sr); sr.Close(); return persons; } public IEnumerable<Person> Search(string NameOrSurname) { foreach (Person p in persons) if (p.Name.Equals(NameOrSurname) || p.Surname.Equals(NameOrSurname)) yield return p; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д