Как можно создать массив разных объектов, заранее неизвестного размера? - C#
Формулировка задачи:
если нужно создать несколько однотипных объектов программно то один скажем, создается кодом
myobj: myname=new myobj();
Но это когда один конкретный объект. А если нужно создать несколько причем заранее неизвестно сколько - как лучше написать код?
Решение задачи: «Как можно создать массив разных объектов, заранее неизвестного размера?»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
List<Person> persons = new List<Person>();
persons.Add(new Person("Алексей", "Черепанов"));
persons.Add(new Person("Сергей", "Синдеев"));
persons.Add(new Person("Максим", "Прохоров"));
Console.WriteLine("Выводим на экран изначально созданный список");
DisplayPersons(persons);
persons.RemoveAt(0); //удаляем Person("Алексей", "Черепанов")
persons.Add(new Person("Вадим", "Антонов"));
Console.WriteLine("{0}После внесения изменений в коллекцию:", Environment.NewLine);
DisplayPersons(persons);
Console.ReadKey();
}
private static void DisplayPersons(IEnumerable<Person> persons)
{
foreach (Person person in persons)
{
Console.WriteLine("Имя: {0}\t Фамилия:{1}", person.FirstName, person.LastName);
}
}
}
public class Person
{
public Person()
: this(string.Empty, string.Empty)
{
}
public Person(string firstName)
:this(firstName, string.Empty)
{
}
public Person(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
public string FirstName { get; set; }
public string LastName { get; set; }
}
}