Составить список студентов группы, используя SortedList - C#
Формулировка задачи:
Решить с помощью SortedList задачу:На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, год рождения, домашний адрес, какую школу окончил. Вывести в новый файл информацию о студентах, окончивших заданную школу, отсортировав их по году рождения. Замечания: Во всех задачах данного раздела подразумевается, что исходная информация хранится в текстовом файле input.txt, каждая строка которого содержит полную информацию о некотором объекте, результирующая информация должна быть записана в файл output.txt.
Для хранения данных внутри программы организовать массив структур.
В типе структура реализуется метод CompareTo интерфейса IComparable, перегружается метод ToString базового класса object и необходимые операции отношения, поля данных и дополнительные методы продумайте самостоятельно.Помогите пожалуйста вообще ничего не понимаю. Спасибо!
Решение задачи: «Составить список студентов группы, используя SortedList»
textual
Листинг программы
using System; using System.Collections; using System.IO; using System.Linq; using System.Text; namespace ConsoleApplication { internal class Program { private static void Main() { Console.Write("Школа: "); var school = Console.ReadLine(); var list = new SortedList(); foreach (var student in File.ReadAllLines("input.txt").Select(CreateStudent) .Where(student => student.School == school)) list.Add(student, student); using (var writer = new StreamWriter("output.txt", false, Encoding.UTF8)) foreach (DictionaryEntry entry in list) writer.WriteLine(entry.Value); } private static Student CreateStudent(string line) { var data = line.Split(new[] {'|'}, StringSplitOptions.RemoveEmptyEntries); return new Student(data); } } internal struct Student : IComparable { public Student(string[] data) : this() { Name = data[0]; DateOfBirth = DateTime.Parse(data[1]); HomeAddress = data[2]; School = data[3]; } public string HomeAddress { get; private set; } public string Name { get; private set; } public string School { get; private set; } public DateTime DateOfBirth { get; private set; } #region IComparable Members public int CompareTo(object obj) { var other = (Student)obj; return DateOfBirth.CompareTo(other.DateOfBirth); } #endregion public override string ToString() { return string.Format("ФИО: {0}, дата рождения: {1}, домашний адрес: {2}, школа: {3}", Name, DateOfBirth.ToShortDateString(), HomeAddress, School); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д