Сделать код более компактным - 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();
}
}
}