При создании объекта добавить его в коллекцию. - C#
Формулировка задачи:
Всем добрый вечер. Скажите, можно ли при создании объекта добавить его в коллекцию или массив объектов? И производить добавление надо в конструкторе.
Решение задачи: «При создании объекта добавить его в коллекцию.»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace first
- {
- class People
- {
- private static int _valueofobj = 0; //Отвечает за кол-во созданных объектов
- public People(int age, string name)
- {
- Age = age;
- Name = name;
- _valueofobj++;
- }
- ~People()
- {
- _valueofobj--;
- }
- public int Age { get; set; }
- public string Name { get; set; }
- public static bool operator >(People p1, People p2)
- {
- return p1.Age > p2.Age;
- }
- public static bool operator <(People p1, People p2)
- {
- return p1.Age < p2.Age;
- }
- public static bool operator >=(People p1, People p2)
- {
- return p1.Age >= p2.Age;
- }
- public static bool operator <=(People p1, People p2)
- {
- return p1.Age <= p2.Age;
- }
- public override string ToString ()
- {
- return string.Format ("[People: Age={0}, Name={1}]", Age, Name);
- }
- }
- class PeopleCollection : List<People>
- {
- public PeopleCollection():base()
- {
- }
- public People[] GetOldests()
- {
- return this.Where((x) =>
- x.Age == this.Max((y => y.Age))).Select(x => x).ToArray();
- }
- }
- class Program
- {
- public static void Main()
- {
- PeopleCollection peoples = new PeopleCollection
- {
- new People(1, "1"),
- new People(2, "2"),
- new People(2, "3")
- };
- foreach(People item in peoples.GetOldests())
- {
- Console.WriteLine(item);
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д