Динамическое изменение размера массива - 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)