그래서 (firstName, lastName, mother, father, siblings, spouse)
정보가 들어있는 Person 클래스가 있고 Person 클래스의 사람들을 사전에 추가하려고합니다. 사전을 통해 구문 분석을 통해 객체의 관계를 확인하고 싶습니다 (즉, 주어진 사람, 사촌, 형제 등을 찾습니다). 내 질문은 두 가지입니다 : 1) 내 사전 <을 설정해야합니까?> 및 2) 목록에서 각 사람의 속성에 액세스하려면 어떻게합니까? 내가 먼저 시도 :C#에서 사전 내의 객체를 비교 분석하는 방법
Dictionary<string, object> dictionary = new Dictionary<string, object>();
var human = Person.AddPerson(); // Person.AddPerson() returns a new instance of a Person
dictionary.Add(human.name, human) // setting the key to full name, value to Person object.
내가 Dictionary<string, string>
<firstName, lastName>
같은 것을 시도하고 내가 같은 이름을 가진 사람의 모든 경기를 일단, 다음 등 어머니, 아버지에 대한 사전 검색을 시작해야 ???. 이것은 몹시 천천히 가고 옳은 길로 보이지 않습니다.
편집 :
public class Person
{
public string name { get; set;}
public Mother mother { get; set; }
public Father father { get; set; }
public Spouse spouse { get; set; }
public Sibling sibling { get; set; }
//List<Sibling> siblings = new List<Sibling>();
public Person()
{ }
public static Person AddPerson()
{
Person newPerson = new Person();
Console.WriteLine("Enter name:");
newPerson.name = Console.ReadLine().Trim();
Console.WriteLine("Enter mother's name:");
string input = Console.ReadLine().Trim();
Mother mom = new Mother(input);
newPerson.mother = mom;
Console.WriteLine("Enter father's name:");
string input1 = Console.ReadLine().Trim();
Father dad = new Father(input1);
newPerson.father = dad;
Console.WriteLine("Enter sibling's name:");
string input2 = Console.ReadLine().Trim();
Sibling sib = new Sibling(input2);
newPerson.sibling = sib;
Console.WriteLine("Enter spouse's name:");
string input3 = Console.ReadLine().Trim();
Spouse partner = new Spouse(input3);
newPerson.spouse = partner;
return newPerson;
}
}
public class Sibling : Person
{
private string name;
public Sibling(string Name)
{
name = Name;
}
public Sibling()
{ }
}
public class Mother : Person
{
private string name;
public Mother(string Name)
{
//Mother mom = new Mother();
name = Name;
}
public Mother()
{ }
}
public class Father : Person
{
private string name;
public Father(string Name)
{
name = Name;
}
public Father()
{ }
}
public class Spouse : Person
{
private string name;
public Spouse(string Name)
{
name = Name;
}
public Spouse()
{ }
}
}
으악, 내 사전 선언했다 : 사전 <문자열, 개체> 사전 = 새로운 사전 <문자열, 개체>(); – user2359626
여러분의 요구는 무엇입니까? Person 객체 중 하나를 속성으로 가져올 수있는 것이 있습니까? – jarvanJiang
왜 사전이 필요합니까? 트리 데이터 구조가 필요한 것 같습니다. –