Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.09.2014, 19:57   #1
Кислый
Новичок
Джуниор
 
Регистрация: 13.09.2014
Сообщений: 2
Восклицание List Структура в List структуре и тд по аналогии с Delphi

Здравствуйте уважаемые программисты! Прошу поделиться ценными знаниями и помочь начинающему. Я очень редко обращаюсь за помощью, только в исключительных случаях, обычно люблю всё доводить до ума сам. Но тут пипец!
Собственно мне нужна такая организация данных, состоящая из динамических структур массивов, решено было использовать List. Прямой аналог из Дельфи это ТИПЫ:

ArrayInter = record
element1: string;
element2: string;
end;

aInter = array of ArrayInter;

ArraySlide = record
elem1: string;
elem2: string;
inter: aInter;
end;

aSlide = array of array of ArraySlide;

И так далее, делая дерево всё больше и больше)) Тут даже двумерный массив в дельфи делаю, но это не важно, главное чтобы вы суть уловили.
Теперь код на C#:

public struct Inter
{
public string element1 { get; set; }
public string element2 { get; set; }
}

public struct Slide
{
public string elem1 { get; set; }
public string elem2 { get; set; }
public List<Inter> listInter;
}

В maine объявляю и запускаю (НИЧЕГО НЕ ПОДЧЁРКНУТО):
1) List<Slide> primer = new List<Slide>();

2) primer.Add(new Slide());

3) primer[0].listInter.Add(new Inter());

Собственно на 2 шаге создаёт то что мне нужно, есть лист Primer, в нём, в строке [0]:
elem1
elem2
а так же лист listInter!!! НО ОН ПУСТОЙ.
Для заполнения listInter я делаю шаг 3, чтобы добавить list массив объектов структуры Inter в этот лист, но всё крашится с предупреждением: Ссылка на объект не указывает на экземпляр объекта.

Помогите пожалуйста. Дальше мне нужно будет делать лист ещё внутри listInter))).
Другой организации данных не получится.

Дополнительно:
Если можете дайте кусочек кода по добавлению в двумерный лист (как primer[0].listInter.Add(new Inter()); )

Поехали!

Последний раз редактировалось Кислый; 13.09.2014 в 20:10.
Кислый вне форума Ответить с цитированием
Старый 13.09.2014, 20:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Можно весь код в студию?

А то ведь я такое предложить могу:
Код:
using System;
using System.Collections.Generic;
namespace й
{
	class List1{
		public int j;
	}
	class List2 {
		public int h;
		List<List1> l;
		public void fillme(int k){
			h = k;
			l = new List<List1> ();
			for (int i = 0; i < 10; i++) {
				l.Add (new List1(){j=i});
			}
		}
		public void outa(){
			foreach (List1 x in l)
				Console.Write ("{0}\t", x.j);
		}
	}
	class MainClass
	{
		public static void Main (string[] args)
		{
			List<List2> q = new List<List2> ();
			for (int i = 0; i < 10; i++) {
				List2 l = new List2 ();
				l.fillme (i);
				q.Add (l);

			}
			for (int i = 0; i < 10; i++) {
				Console.WriteLine ("{0}\n", q [i].h);
				q [i].outa ();
			}

			Console.WriteLine ("Hello World!");
		}
	}
}
I'm learning to live...

Последний раз редактировалось Stilet; 13.09.2014 в 20:49.
Stilet вне форума Ответить с цитированием
Старый 13.09.2014, 21:01   #3
Кислый
Новичок
Джуниор
 
Регистрация: 13.09.2014
Сообщений: 2
По умолчанию Получилось)

Ой и нагромоздил) Мне это ничего не нужно, особенно вывод)
Весь код был уже написан)
Подсказали сделать так:
Изменить struct на class в обоих случаях
в объекте Slide создавать новый экземпляр списка:

public class Slide
{
public string elem1 { get; set; }
public string elem2 { get; set; }
public List<Inter> listInter = new List<Inter>();
}

Теперь надо понять как двумерный создать) Спасибо!
Кислый вне форума Ответить с цитированием
Старый 13.09.2014, 21:06   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

Код:
List< List<Slide> >
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi Ошибка list index out of bounds(2) Sergeevna Помощь студентам 9 02.04.2012 13:16
[c++][list] Порядок обработки двух list Padavan Помощь студентам 1 10.05.2011 14:56
list in list Cpluser Общие вопросы .NET 1 28.10.2010 02:38
Помощь с List Box Delphi Antyan-screammer Помощь студентам 7 16.06.2010 00:00
List<> Cpluser Общие вопросы .NET 3 20.03.2010 15:02