Пожалуйста, взгляните и изучите понятие "Неизменяемые объекты"
Массив имеет фиксированный размер. Если вам нужен массив с динамическим размером, лучше всего создать методы расширения или обработчик, который сделает всю работу за вас.
Работа, которую необходимо выполнить, - это получить массив, создать новый массив с новым размером в зависимости от того, хотите ли вы добавить или удалить что-либо, и заполнить новый массив данными из предыдущего массива. Это создаст новый объект вместо того, чтобы модифицировать предыдущий объект, и убедится, что вы не помещаете элементы в полный массив или не имеете массив с размером, превышающим элементы, которые в него помещаются.
Конечно, класс List будет работать и, вероятно, решит вашу проблему.