Задать размер в конструкторе коллекции LinkedList<> в C#
Нужно создать конструктор с параметром, где параметр-размер коллекции. Не совсем понимаю как это адекватно сделать с двусвязным списком. Коллекция обобщенная, туда передается объект класса Person
class MyCollection<T> : IEnumerable<T> where T: Person
{
LinkedList<T> col1 = new LinkedList<T>();
public int Count
{
get { return col1.Count; }
}
public MyCollection()
{ }
//в этот конструктор надо передать размер коллекции
public MyCollection()
{
col1 = new LinkedList<T>();
}
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
Думаю вам надо что-то такое
class MyCollection<T> : IEnumerable<T> where T: Person
{
LinkedList<T> col1 = new LinkedList<T>();
public int Count
{
get { return col1.Count; }
}
public int MaxCount
{
get; set;
}
public MyCollection()
{ }
//в этот конструктор надо передать размер коллекции
public MyCollection(int maxCount)
{
col1 = new LinkedList<T>();
MaxCount = maxCount;
}
public int Add(T t){
if (Count+1 > MaxCount) throw new Exception("достигнут предел списка или что-то в этом духе");
....
}
Дело в том что в основе связного списка лежит не массив, так чтобы выделить заранее массив для указателей добавляемых объектов.