Динамическое изменение размера массива - 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д