2013-11-13 2 views
1

Во-первых, прошу прощения за титул; Я действительно понятия не имел, как описать эту ситуацию в одной строке. Скажем, у меня есть класс под названием Person. Несколько экземпляров Person будут созданы и добавлены в коллекцию. Я ищу способ, чтобы каждый экземпляр Person имел возможность «знакомиться» друг с другом в буквальном смысле в реальном мире (Person 1 встречается с Person 2, теперь они знают друг друга), а также иметь распоряжение друг к другу Person.Уникальные отношения объекта друг к другу объекта того же типа

Это кажется очевидным для экземпляра Person, чтобы использовать bool для понимания или не зная другой Person и использовать в int для диспозиций, хотя в дальнейшем я намерен значительно расширить на этом. К сожалению, я действительно не знаю, как сделать каждый Person обладать уникальными свойствами в коллекции (или, возможно, даже в отдельной коллекции того же типа). Я не обязательно ищу здесь код, но для понятий о том, как реализовать что-то подобное.

Любые советы были бы весьма полезными. Благодарю.

(Кроме того, если кто-нибудь знает о каких-либо соответствующих тегов для этого вопроса, пожалуйста, добавьте их или дайте мне знать.)

ответ

3

Есть коллекция Person объектов внутри каждого лица:

class Person 
{ 
    List<Person> Knows; // People this person knows 
} 

Knows список будет содержать только ссылку на объект, чтобы вы не дублировали данные.

+0

+1 Для простоты. Я слишком много думал об этом. – gleng

+0

Ничего себе, это намного проще, чем я это делал. Что касается того, что у меня есть свойство для решения чего-то такого рода, как бы мне это сделать? –

+0

Если вы хотите сохранить такие атрибуты, как disposition, вы можете сделать это «Словарь» вместо этого, где «человек, которого он/она знает» является ключом, а атрибутами являются данные. – noelicus

Смежные вопросы