0

我正在开发一个使用项目列表的小型应用程序,每个项目都有一组与之关联的数据。我是一个初学者,所以我不确定如何有效地做到这一点。

例如,我的列表包含以下内容:

Item 1
Item 2
Item 3
Item 4

然后每个项目将有 6 条左右相关联的数据,即

Item 1
  Material 1
  Material 2
  Material 3

等等。目前我的 GUI 包含项目列表和一个辅助列表,该列表将在从主列表中选择一个项目后显示该项目所需的材料。起初我以为我可以通过使用 if 语句根据所选项目进行填充来实现这一点,但是项目列表包含相当多的项目,这似乎非常低效。有没有更好的方法来实现这一目标?

4

2 回答 2

0

好吧,这取决于您需要的数据结构;要么您需要一个类,以便每个项目都可以具有一组不同类型的属性(字符串、整数,甚至列表......)。您可以简单地将项目视为文本属性列表,并且您的项目列表将是列表列表。

于 2013-06-04T16:03:07.347 回答
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();
于 2013-06-04T16:11:34.190 回答