.NET 4.x Класс, содержащий сведения о студентах. Как осуществить сортировку - C#

Узнай цену своей работы

Формулировка задачи:

есть задача На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, номер группы, результаты сдачи трех экзаменов. Вывести в новый файл информацию о студентах, успешно сдавших сессию, отсортировав по номеру группы. Написал код (Класс) но не как не могу отсортировать

по номеру группы.

 class Student_List
        {
            List<Student> _Sudent_List = new List<Student>(); //Денамичиский массив студентов;
 
            /// <summary>
            /// Структура студент содержет поля Ф,И,О, Номер группы, И 3 оценки;
            /// </summary>
            struct Student
            {
                internal String _Name, //имя;
                       _Family_Name, //фамилия;
                       _Middle_Name; //отчество;
                internal Int32 _Number_Group, //Номер группы;
                      _First_Exam,  //Первый экзамен;
                      _Second_Exam, //Второй экзамен;
                      _Third_Exam;  //Третий экзамен;
            }
 
            /// <summary>
            /// Добвляет запись о студенте в коллекцию;
            /// </summary>
            /// <param name="Name">Имя студента</param>
            /// <param name="Family_Name">Фамилия студента</param>
            /// <param name="Middle_Name">Отчество студента</param>
            /// <param name="Number_Group">Номер группы</param>
            /// <param name="First_Exam">Результат Первного экзамена</param>
            /// <param name="Second_Exam">Результат Второго экзамена</param>
            /// <param name="Third_Exam">Результат Третьего экзамена</param>
            public void Add(Int32 Number_Group, String Family_Name, String Name, 
                            String Middle_Name, Int32 First_Exam,
                            Int32 Second_Exam, Int32 Third_Exam)
            {
                _Sudent_List.Add(
                    new Student
                    {
                        _Name = Name,
                        _Family_Name = Family_Name,
                        _Middle_Name = Middle_Name,
                        _Number_Group = Number_Group,
                        _First_Exam = First_Exam,
                        _Second_Exam = Second_Exam,
                        _Third_Exam = Third_Exam
                    });
            }
//перегрузка Add ..
            void Add(Student student)
            {
                _Sudent_List.Add(student);
            }
            
//составление списка сдавших студентов
            public Student_List Sdali()
            {
                Student_List _Temp = new Student_List();
                for(Int32 i =0; i < _Sudent_List.Count; i++){//если по всем экзаменам >2 то сдал
                    if (_Sudent_List[i]._First_Exam > 2 && _Sudent_List[i]._Second_Exam > 2 && _Sudent_List[i]._Third_Exam > 2)
                    {
                        _Temp.Add(_Sudent_List[i]);//добавляю в коллекцию сдавших
                    }
                }
                return _Temp;
            }
//Здесь не чего не происходит :(
            public void Sort_Number()
            {
                this._Sudent_List.Sort();
            }
        }
 private void Main()
        {
            Student_List _Student_List = new Student_List();
            using (StreamReader _Read = new StreamReader("List.txt"))
            {
                while (!_Read.EndOfStream)//иду до конца файла
                {
                    String[] _Temp = _Read.ReadLine().Split(' ');
                    _Student_List.Add(
                        Convert.ToInt32(_Temp[0]),
                        _Temp[1], _Temp[2], _Temp[3],
                        Convert.ToInt32(_Temp[4]),
                        Convert.ToInt32(_Temp[5]),
                        Convert.ToInt32(_Temp[6]));
                }
            }
            _Student_List.Sdali().Sort_Number(); //С этим кодом винда пишет что прога не совместим и настраивает режим совместимости О_о
        }
PS по коду принимаю любую критику и предложения

Решение задачи: «.NET 4.x Класс, содержащий сведения о студентах. Как осуществить сортировку»

textual
Листинг программы
            public void Sort_Number()
            {
                this._Sudent_List.Sort(delegate( Student T,Student B){
                    return T._Number_Group.CompareTo(B._Number_Group);
                });
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.909 из 5
Похожие ответы