Как создать бездонный массив? - C#

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

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

Нужно создать бездонный массив,который при желании станет донным.То есть,создаётся бездонный массив.После он начинает заполнятся,при этом его точный объём не известен.И при получении команды(например через for)массив закрывается и теперь у него уже есть чёткий конец.Каким образом можно реализовать подобную механику?

Решение задачи: «Как создать бездонный массив?»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication35 {
    class Program {
        static void Main(string[] args) {
            ManagedList<int> managedList = new ManagedList<int>();
            managedList.Size = 10;
            for (int i = 0; i < 15; i++) {
                try {
                    managedList.Add(i);
                }
                catch (Exception ex) {
                    Console.WriteLine(ex.Message);
                }
            }
            Console.ReadLine();
        }
    }
    public class ManagedList<T> : List<T> {
        public int Size { get; set; }
        public ManagedList() {
            Size = int.MaxValue;
        }
 
        public new void Add(T item) {
            if ((this.Count + 1) > Size) {
                throw new Exception("Dynamic array closed!");
            }
            base.Add(item);
        }
        public new void AddRange(IEnumerable<T> items) {
            if ((this.Count + items.Count()) > Size) {
                throw new Exception("Dynamic array closed!");
            }
            base.AddRange(items);
        }
    }
}

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


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

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

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