Сделать код более компактным - C#

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

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

как можно переделать данную запись, но что бы более компактнее?
   LifeInTown ob1 = new LifeInTown(2010);//создание события жизнь
            ob1.addhomo("Ivan0", "Ivanov", 1990, true);
            ob1.addhomo("Ivan1", "Ivanov", 1992, true);
            ob1.addhomo("Ivan2", "Ivanov", 1994, true);
            ob1.addhomo("Ivan3", "Ivanov", 1991, true);
            ob1.addhomo("Ivan4", "Ivanov", 1954, true);
            ob1.addhomo("Ivan5", "Ivanov", 1989, true);
            ob1.addhomo("Ivan6", "Ivanov", 1993, true);
            ob1.addhomo("Ivan7", "Ivanov", 1997, true);
            ob1.addhomo("Ivan8", "Ivanov", 2001, true);
            ob1.addhomo("Ivan9", "Ivanov", 2000, true);
            ob1.addhomo("Ivan10", "Ivanov", 1985, true);
            ob1.addhomo("Ivan11", "Ivanov", 1932, true);
            ob1.addhomo("Ivan12", "Ivanov", 1967, true);
            ob1.addhomo("Maria0", "Ivanova", 1990, false);
            ob1.addhomo("Maria1", "Ivanova", 1991, false);
            ob1.addhomo("Maria2", "Ivanova", 1992, false);
            ob1.addhomo("Maria3", "Ivanova", 1993, false);
            ob1.addhomo("Maria4", "Ivanova", 1952, false);
            ob1.addhomo("Maria5", "Ivanova", 1930, false);
            ob1.addhomo("Maria6", "Ivanova", 1999, false);
            ob1.addhomo("Maria7", "Ivanova", 2005, false);
            ob1.addhomo("Maria8", "Ivanova", 1996, false);
            ob1.addhomo("Maria9", "Ivanova", 1992, false);
            ob1.addhomo("Maria10", "Ivanova", 1989, false);

Решение задачи: «Сделать код более компактным»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace lab_5_1
{
    public class Printing
    {
        public void ObrabEvent(object ob1, HomoEventArgs hev)
        {
            if (hev.marr == LifeEvent.Совершеннолетие)
                Console.WriteLine("{0} {1} достиг(ла) совершеннолетия", ((homo)ob1).name, ((homo)ob1).surname);//когда вызывается событие, то оно вызывает вот этот класс за счёт того, что мы объявили в мейне
            else
                Console.WriteLine(String.Format("{0} {1} {2}г сочетался(ась) законным браком с {3} {4} {5}г", ((homo)ob1).name, ((homo)ob1).surname, ((homo)ob1).byear, ((homo)ob1).supr.name, ((homo)ob1).supr.surname, ((homo)ob1).supr.byear));
        }
    }
    static class HomoExtension 
    {
        public static homo CreateWoman(uint byear, string first, string last = "Ivanova")
        {
            return new homo(first, last, byear, false);
        }
        public static homo CreateMan(uint byear, string first, string last = "Ivanov")
        {
            return new homo(first, last, byear, true);
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            LifeInTown ob1 = new LifeInTown(2010);//создание события жизнь
            uint[] manbyears = { 1990, 1992, 1994, 1991, 1954, 1989, 1993, 1997, 2001, 2000, 1985, 1932, 1967};
            uint[] womanbyears = {1990, 1991, 1992, 1993, 1952, 1930, 1999, 2005, 1996, 1992, 1989};
            for (int i = 0; i < manbyears.Length; i++)
                ob1.addhomo(HomoExtension.CreateMan(manbyears[i], "Ivan" + i));
            for (int i = 0; i < womanbyears.Length; i++)
                ob1.addhomo(HomoExtension.CreateWoman(womanbyears[i], "Maria" + i));
            Printing print = new Printing();
            for (int i = 0; i < ob1.homosize; i++)
                // ob1[i].obrab2 +=Program_obrab2;
                ob1[i].event_adult += print.ObrabEvent;//если чел выкинул событие, то мы вызовем
            for (int i = 0; i < ob1.homosize; i++)
                // ob1[i].obrab2 +=Program_obrab2;
                ob1[i].event_marry += print.ObrabEvent;//если чел выкинул событие, то мы вызовем
            for (int i = 0; i < 20; i++)
            {
                Console.WriteLine("Прошёл" + ob1.year + "год");
                ob1.life();//вызывает функцию, симулирующую жизнь
                Console.WriteLine("********************************");
            }
            Console.ReadLine();
        }
    }
}

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


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

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

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