Динамическое изменение размера массива - C#

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

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

Здравствуйте! Срочно нужна помощь. Имеется массив объектов, который читается из файла. Структура такова: В файле есть несколько строк. В каждой строке есть некие объекты, разделенные специальными символами. Отдельный класс "Сотрудник" с внутри дополненным "Рабочий" определяют эти объекты. Массив "Рабочий[] Рабочие" содержит в каждой своей ячейке наборы объектов и по сути его каждая ячейка соответствует строке в файле. Вся проблема заключается в том, что этот массив просит размерность, иначе никак. Мне нужно, чтобы размерность массива задавалась количеством строк в файле и могла меняться по ходу выполнения работы алгоритма. Ссылка на проект: Задание04.rar
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace Задание04
{
    public partial class ПросмотрДанных : Form
    {
        Рабочий[] Рабочие=new Рабочий[2];
        public ПросмотрДанных()
        {
            InitializeComponent();
        }
        private void ПросмотрДанных_Load(object sender, EventArgs e)
        {
            StreamReader f = new StreamReader("Рабочий.txt", Encoding.GetEncoding(1251));
            int n=0;
            while (!f.EndOfStream && n < 2)
            {
                string[] s = f.ReadLine().Split('#');
                Рабочие[n] = new Рабочий();
                Рабочие[n].Фамилия = s[0];
                Рабочие[n].Имя = s[1];
                Рабочие[n].Отчество = s[2];
                Рабочие[n].Профессия = s[3].Split(new[] { ',' });
                n++;
            }
            f.Close();
            ОбновитьСписок();
            Список.SelectedIndex = 0;
        }
        public void ОбновитьСписок()
        {
            Список.Items.Clear();
            foreach (Рабочий x in Рабочие)
                Список.Items.Add(x.ФИО);
        }
        public void ОбновитьСписокПрофессий()
        {
            СписокПрофессий.Items.Clear();
            foreach (string x in Рабочие[Список.SelectedIndex].Профессия)
                СписокПрофессий.Items.Add(x);
        }
        private void Список_SelectedIndexChanged(object sender, EventArgs e)
        {
            Рабочий Выбранный = Рабочие[Список.SelectedIndex];
            ПолеФамилия.Text = Выбранный.Фамилия;
            ПолеИмя.Text = Выбранный.Имя;
            ПолеОтчество.Text = Выбранный.Отчество;
            ОбновитьСписокПрофессий();
        }
    }
}
Еще вопрос, можно ли провернуть это дело с использованием ArrayList(если можно, то как?). Обычный List<> использовать нельзя.

Решение задачи: «Динамическое изменение размера массива»

textual
Листинг программы
BitConverter.GetBytes(i)

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


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

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

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