Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/23: Рейтинг темы: голосов - 23, средняя оценка - 4.83
kyjek
2 / 2 / 0
Регистрация: 01.10.2011
Сообщений: 24
1

Динамический массив классов - способы и примеры реализации

02.04.2012, 15:21. Просмотров 4522. Ответов 5
Метки нет (Все метки)

Доброго времени суток. Возникла небольшая проблема связанная с не знанием синтаксиса динамического создания массива в С#. если быть более точным необходимо создать динамический массив классов. Прошу поделиться примером как это реализуется.
Допустим у меня есть класс Form2 и я бы хотел создавать его динамически.


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public partial class Form2 : Form
    {
        public Form1 mainForm;
        public string a = "";
        public Form2()
        {
            InitializeComponent();           
        }        
        }
        public void MyDispose()
        {
            this.Dispose();
        }
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.04.2012, 15:21
Ответы с готовыми решениями:

Лексический анализатор: способы реализации
Помогите определиться с чего начать или подскажите как можно это реализовать? ...

Свой ntp-сервер, способы реализации
Добрый день! Появилась необходимость проводить синхронизацию времени между...

Клиент - сервер на IPX, нужны примеры реализации
Задание: написать сервер и клиента, для обмена данными между собой по протоколу...

Отправка почты: нужны примеры реализации, желательно с комментариями
перерыл весь форум нет нормального рабочего кода для отправки почты из...

Динамический массив обьектов
Добрый день! Помогите реализовать задачку! Мне надо создать динамический...

5
mutex
28 / 28 / 5
Регистрация: 18.04.2009
Сообщений: 267
02.04.2012, 19:09 2
А в чём собственно затык ?

C#
1
2
3
4
5
6
7
8
Form2 f1 = new Form2();
Form2 f2 = new Form2();
Form2 f3 = new Form2();
 
ArrayList myArrayList = new ArrayList();
myarrayList.Add(f1);
myarrayList.Add(f2);
myarrayList.Add(f3);
Видимо Вы хотите создать массив объектов класса Form2, а не массив классов!
0
turbanoff
Эксперт Java
4024 / 3759 / 742
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
03.04.2012, 08:58 3
Не стоит использовать ArrayList, если возможно использовать generic.
C#
1
List<Form2> array;
0
kyjek
2 / 2 / 0
Регистрация: 01.10.2011
Сообщений: 24
03.04.2012, 12:04  [ТС] 4
Я имел в виду вот так.


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 Form2[] f2 = new Form2[1];     
        int i = 0;
        private void buttonForm1_Click(object sender, EventArgs e)
        {          
            f2[i] = new Form2();          
            i++;
            f2 = (Form2[])IncreaseArray(f2, i+1);
        }
 
        Array IncreaseArray(Array array, int newLength)
        {
            Type type = array.GetType().GetElementType();
            Array newArray = Array.CreateInstance(type, newLength);           
            array.CopyTo(newArray, 0);
            return newArray;
        }
0
turbanoff
Эксперт Java
4024 / 3759 / 742
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
03.04.2012, 12:15 5
Ну так а мы вам про что, только при использовании встроенный коллекций все гораздо проще:
C#
1
2
3
4
5
        List<Form2> f2 = new List<Form2>();     
        private void buttonForm1_Click(object sender, EventArgs e)
        {          
            f2.Add(new Form2());
        }
А то что у вас - плохой код.
1
kyjek
2 / 2 / 0
Регистрация: 01.10.2011
Сообщений: 24
03.04.2012, 12:25  [ТС] 6
О да понял спасибо.
0
03.04.2012, 12:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.04.2012, 12:25

Массив классов
Помогите пожалуйста мне нужен массив классов но я не знаю как его заполнить...

Динамический массив вместо свойств
Есть некая структура с множеством данных public struct man { ...

Как создать динамический массив string
Как сделать? А то у stringp приходится менять размер, чтобы добавить еще 1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru