2013-06-04 10 views
0
으로 작성하십시오.

나는 목록과 관련된 데이터 세트가있는 항목 목록을 사용하는 작은 응용 프로그램을 작성 중입니다. 나는 초보자이기 때문에 이것을 효율적으로 수행하는 방법을 모르겠습니다.목록 항목과 관련된 데이터를 C#

Item 1 
Item 2 
Item 3 
Item 4 

각 항목은 다음 6 개 정도 관련, 즉 데이터의 조각

Item 1 
    Material 1 
    Material 2 
    Material 3 

등을했을 현재 내 GUI가의 목록이 포함되어 있습니다 :

예를 들어

, 내 목록은이 다음을 포함 항목 및 기본 목록의 항목을 선택한 후 항목에 필요한 자료를 표시하는 보조 목록 처음에는 if 문을 사용하여 선택한 항목을 기반으로 항목을 채우는 것으로 달성 할 수 있다고 생각했지만 항목 목록에는 상당 부분 항목이 포함되어 있으며 이는 매우 비효율적으로 보입니다. 이것을 달성하기위한 더 좋은 방법이 있습니까?

+0

귀하의 목록이 항목 측면에서 상당히 클 수 있으며 가능한 한 효율적으로해야한다면 해시 된 세트를 사용하는 것이 좋습니다. 보기 : http://msdn.microsoft.com/en-us/library/bb359438.aspx – Mez

답변

0

글쎄 그것은 필요한 데이터 구조에 달려 있습니다. 각 항목이 다른 유형 (문자열, int 또는 심지어 목록 ...)의 속성 집합을 가질 수 있도록 클래스가 필요합니다. 항목을 텍스트 속성 목록으로 간주하면 항목 목록이 목록 목록이됩니다.

0

이와 비슷한 내용입니다. 해시 세트에 유의하십시오.

public class ShopMaterial 
{ 
    public int Id {get;set;} 
    public string Name {get;set;} 
} 

public class ShopItem 
{ 
    public string ShopItemName { get; set; } 
    public HashSet<ShopMaterial> ShopMaterialList { get; set; } 
} 

그런 다음 나중에 Linq의 도움을 받아 자료를 얻을 수 있습니다.

ShopItem si = new ShopItem(); 
si.ShopMaterialList.Add(new ShopMaterial() { Id = 1, Name = "Item 1" }); 
si.ShopMaterialList.Add(new ShopMaterial() { Id = 1, Name = "Item 2" }); 
si.ShopMaterialList.Add(new ShopMaterial() { Id = 1, Name = "Item 3" }); 

si.ShopMaterialList.Where(item => item.Name == "Item 1").First(); 
관련 문제