Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 50

Как просортировать лист классов за полем age

28.04.2020, 17:25. Показов 499. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;
using System.Collections;
namespace ConsoleApp3
{
    class People
    {
        string name;
        int age;
        string sex;
        public People(string name, int age, string sex)
        {
            this.name = name;
            this.age = age;
            this.sex = sex;
        }
        public override string ToString()
        {
            return $"Name:{this.name} Age:{this.age} Sex:{this.sex}";
        }
        class Student : People
        {
            string faculty;
            double average_mark;
            public Student(string name, int age, string sex, string faculty, double average_mark) : base(name, age, sex)
            {
                this.faculty = faculty;
                this.average_mark = average_mark;
            }
            public override string ToString()
            {
                return base.ToString() + $"Faculty:{this.faculty} Average mark:{this.average_mark} ";
            }
        }
 
        class Program
        {
            static void Main(string[] args)
            {
 
 
                ArrayList list = new ArrayList();
                list.Add(new People("fdfss", 123, "male"));
                list.Add(new Student("fsdf", 43, "fds", "fdsfs", 32));
                foreach (object o in list)
                {
                    Console.WriteLine(o);
                }
 
            }
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2020, 17:25
Ответы с готовыми решениями:

Задача на char. Вывести на экран сумму кодов слов age AGE
вывести на экран сумму кодов слов age AGE

Выводит ответ if(age=+18), и if(age-18) вместе

Просортировать элементы методом выбора по возрастанию
Всем привет,прошу помощи,помогите сделать программу на паскале задание в названии темы и если можно пояснить её.P.S я плохо пониманию в...

7
19 / 15 / 7
Регистрация: 08.06.2018
Сообщений: 65
28.04.2020, 17:33
Сделай публичные свойства для своих приватных полей классов. И тогда можно будет вызвать метод OrderBy.
C#
1
list.OrderBy(person=>person.Age);
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
28.04.2020, 17:33
Славик Украинец, OrderBy
0
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 50
28.04.2020, 17:39  [ТС]
'ArrayList" не содержит определения для "OrderBy"
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
28.04.2020, 17:45
Славик Украинец,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
class People
    {
        string name;
        int age;
        string sex;
 
        public string Name { get; set; }
        public int Age { get; set; }
        public string Sex { get; set; }
 
        public People(string name, int age, string sex)
        {
            this.name = name;
            this.age = age;
            this.sex = sex;
        }
        public override string ToString()
        {
            return $"Name:{this.name}\t Age: {this.age}\t Sex: {this.sex}\t";
        }
    }
 
    class Student : People
    {
        string faculty;
        double average_mark;
        public Student(string name, int age, string sex, string faculty = null, double average_mark = 0) 
            : base(name, age, sex)
        {
            this.faculty = faculty;
            this.average_mark = average_mark;
        }
        public override string ToString()
        {
            return base.ToString() + $"Faculty: {this.faculty}\t Average mark: {this.average_mark} ";
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            List<Student> list = new List<Student>();
            list.Add(new Student("Vova", 123, "male"));
            list.Add(new Student("Pasha", 43, "female", "Manager", 5));
            foreach (object o in list)
            {
                Console.WriteLine(o);
            }
            Console.WriteLine();
            list.OrderBy(person => person.Age);
 
            foreach (object o in list)
            {
                Console.WriteLine(o);
            }
 
            Console.ReadKey();
        }
    }
0
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 50
28.04.2020, 18:02  [ТС]
оно не соритирует , выводит в тоже самом порядке как и инициализировали ,
и смотри мне нужно что бы создался класс Person и класс Student, и что бы за их общим полем age оно посортировать их
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
28.04.2020, 18:32
Славик Украинец, поправил (забыл поправить конструктор)

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
class People
    {
        string name;
        int age;
        string sex;
 
        public string Name { get; set; }
        public int Age { get; set; }
        public string Sex { get; set; }
 
        public People(string name, int age, string sex)
        {
            Name = name;
            Age = age;
            Sex = sex;
        }
        public override string ToString()
        {
            return $"Name:{this.name}\t Age: {this.age}\t Sex: {this.sex}\t";
        }
    }
 
    class Student : People
    {
        string faculty;
        double average_mark;
        public Student(string name, int age, string sex, string faculty = null, double average_mark = 0) 
            : base(name, age, sex)
        {
            this.faculty = faculty;
            this.average_mark = average_mark;
        }
        public override string ToString()
        {
            return base.ToString() + $"Faculty: {this.faculty}\t Average mark: {this.average_mark} ";
        }
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            List<Student> list = new List<Student>();
            list.Add(new Student("D_Vova", 123, "male"));
            list.Add(new Student("C_Vova", 123, "male"));
            list.Add(new Student("A_Vova", 123, "male"));
            list.Add(new Student("B_Vova", 123, "male"));
            list.Add(new Student("F_Vova", 123, "male"));
            list.Add(new Student("F_Pasha", 43, "female", "Manager", 5));
            foreach (object o in list)
            {
                Console.WriteLine(o);
            }
            Console.WriteLine();
 
            var sortedUsers = from u in list
                              orderby u.Name
                              select u;
 
            foreach (Student u in sortedUsers)
                Console.WriteLine(u.Name);
 
            Console.ReadKey();
        }
    }
Добавлено через 4 минуты
соответственно поправьте остальные св-ва и приведите к такому виду:
C#
1
2
3
4
5
6
7
8
9
10
public string Name
        {
            get { return name; }
            set { name = value; }
        }
        public int Age
        {
            get { return age; }
            set { age = value; }
        }
0
1167 / 885 / 517
Регистрация: 09.04.2014
Сообщений: 2,101
28.04.2020, 18:44
Цитата Сообщение от Славик Украинец Посмотреть сообщение
'ArrayList" не содержит определения для "OrderBy"
1. зачем вам ArrayList - используйте List<People>
2.
C#
1
list.Sort((x, y) => x.Age.CompareTo(y.Age));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2020, 18:44
Помогаю со студенческими работами здесь

Ошибка в коде $char = array (name=>'Bob', age=>'30') print $char[age];
&lt;HTML&gt;&lt;BODY&gt; &lt;?php $char = array ( name=&gt;'Bob', age=&gt;'30' ) print $char; ?&gt; ...

Как создать новый лист в книге со ссылкой на предыдущий лист?
Добрый день. Есть реестр учета спецтехники. Его заполняет диспетчер каждый день. т.е. каждый день копирует форму на новый лист и потом...

Как вывести в консоль 'age' ?
class Main{ public static void main(String args){ Cat cat = new Cat(&quot;Рич&quot;, 13); System.out.println(cat.getName()); ...

Как добавить в лист объектов лист объектов.Проблема-Вместе со вторым листом обновляется первый
Добрый вечер, друзья!) Столкнулся с проблемой, комменты в коде пояснят о проблеме. Ну и еще раз для понятности. Закидываю в...

Как создать новый лист и импортировать данные с другого листа на новый лист
как создать новый лист и импортировать данные с другого листа на новый лист. Private Sub CommandButton1_Click() ' Создание...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru