2013-05-16 2 views
-6

Я хочу, чтобы список других объектов, принадлежащих определенным объектам. Возможно ли создать список, например?Список списка и объекта

List<Object, List<OtherObject>> 

Или я должен создать новый класс и сделать?

List<NewClass> 

Или я должен делать что-то еще в целом? Размер динамический, поэтому я не хотел использовать массив.

Как я могу это достичь?

+4

Что вы пытаетесь достичь? –

+0

Список принимает только один параметр в шаблоне: http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx – Kasyx

+0

@AlcariTheMad Я не понимаю, почему я должен отвечать на такие вопросы. Но если вы действительно хотите знать, я хочу, чтобы List of 'OtherObject' принадлежал определенному 'Object'. Это не странный вопрос? Как я хочу список закусок, которые каждый ребенок хочет в моей группе ... – Joetjah

ответ

4

Вы хотите найти словарь <>, например.

Dictionary<Object, List<OtherObject>> 

Где Object является ключевым и List<OtherObject> является Value

+0

Класс словаря с ключом объекта не является хорошей идеей в целом. Единственным поведением в словаре является IEnumerable > интерфейс, поэтому списка KeyValuePairs должно быть достаточно. – Ayaro

+0

Хорошая идея хранить объект в качестве ключа в словаре. Только для Knowlegde. Как словарь узнает о любом дублирующем ключе. –

0

попробовать Использование

Dictionary<Object, List<OtherObject>>

Надежда я помог

+2

Недостаток этого ответа необоснован. –

+1

да, вы действительно поможете, скопировав с ответа DaveDev !!! –

+0

ohh извините. , я удалю этот комментарий. , и я не копировал ответ.его просто, что мое подключение к Интернету происходит медленно. .didnt немедленно обновить. Мои извинения –

1

Вы можете использовать Tuple<Object, List<OtherObject>> добиться того, что вы хотите.

Кортежи предназначены для создания свойств, если вы не хотите создавать специальные классы. Вы можете использовать Tuple<Object, AnotherObject, AnotherAnotherObject>, если вам нужно.

Ваш код будет что-то вроде:

List<Tuple<Object, List<OtherObject>>> list; 

и работать с ним:

foreach(var tuple in list) 
{ 
    var object = tuple.Item1; 
    var innerList = tuple.Item2; 
} 
Смежные вопросы