2013-02-13 5 views
2

상위/하위 (주어진) 관계에 C# 값을 가장 잘 저장할 수있는 방법이 궁금합니다. Dictionary, KeyValuePair 및 List를 고려했거나 클래스를 정의한 것 같습니다. 나는 이것을 overthinking 수도 있지만 더 나은 방법이 있는지 확인하고 싶습니다. 빠른 조회를 할 수 있어야합니다. 내 데이터 세트는 첫 번째 항목이 "상위 항목"이고, 나머지 항목은 첫 번째 항목과 관련되어 있습니다. 따라서 :상위 - 하위 관계 저장

G H Y 
Z X A J 

G는 H 및 Y와 관련이 있으며, Z는 X, A 및 J와 관련되어 있습니다. 매우 간단합니다. 하지만 C#에서 이걸 어떻게 저장 하는게 가장 좋을까요? 0 인덱스가 부모를 나타내는 배열을 가질 수 있습니다. C#에서 이것을 저장하는 더 좋은 방법이 있습니까? 이는 SQL에서 일대 다 관계와 매우 유사합니다. 하지만 코드에서이 작업을 수행해야합니다. 나의 목표는 부모를 기반으로 한 친척 목록을 쉽게 얻을 수있게하는 것입니다. G가 주어지면 곧 H와 Y를 얻을 수있게 될 것입니다. 배열,리스트 <>을 사용합니까?

답변

1

Dictionary<string, string[]> 당신이 말하는 것에 대해 좋은 선택이 될 것입니다.

+0

아이들이, 당신은 또한 사전을 고려할 수 있습니다 동적으로 변경하는 경우 수 <문자열 목록 > – Dhawalk

+0

@Dhawalk 매우 경우 좋은 옵션도. – malkassem

0

나는 Lookup<TKey, TValue> (http://msdn.microsoft.com/en-us/library/bb460184.aspx)을 제안합니다.

조회는 사전과 유사합니다. 의 차이점은 Dictionary가 키를 단일 값으로 매핑하는 반면 Lookup은 키를 값의 컬렉션으로 매핑한다는 점입니다.

관련 문제