我正在尝试找出设置此模型的最佳方法。我几乎以一种方式做到了,但我正在考虑另一种方式。这是一次学习经历,所以浪费时间并不重要。
namespace FirstWay
{
public class CrateOfBags
{
public string crateId { get; set; }
public string originCountry { get; set; }
public List<BagOfApples> bagList { get; set; }
}
public class BagOfApples
{
public double weight { get; set; }
public string bagId { get; set; }
public List<apple> appleList { get; set; }
}
public class apple
{
public string appleId { get; set; }
public string color { get; set; }
public Boolean rotten { get; set; }
}
}
//或这个
namespace SecondWay
{
public class CrateOfBags
{
public string crateId { get; set; }
public string originCountry { get; set; }
}
public class BagOfApples : CrateOfBags
{
public string bagId { get; set; }
public double weight { get; set; }
}
public class apple : BagOfApples
{
public string appleId {get;set;}
public string color { get; set; }
}
}
可能的问题
苹果问题:交付了多少烂苹果?烂苹果来自哪些袋子和/或哪些板条箱?第一种方式:可以遍历每个板条箱,然后是袋子,然后是苹果和计数。第二种方式:可以循环遍历苹果并将父属性添加到 HashSet(一种防止重复的方法)
板条箱问题。查找每个国家/地区的板条箱数量?第一种方式:循环遍历箱子并保留一个计数列表、数组等。第二种方式:必须遍历所有苹果并且只关心板条箱。
我遇到的一个问题是我对苹果作为它自己的实体知之甚少。我只知道它来自哪个板条箱,方法是从板条箱启动 foreach 循环
但是,如果我想问一个问题,例如“特定批次中有多少青苹果(按 id)?” 我也有问题,具体取决于方式。
说苹果是袋子的孩子,就像狗是动物的孩子一样,对我来说似乎很尴尬。然而,我喜欢能够自由移动操纵苹果的想法,例如通过更改父属性 bagid 来切换它们所在的包。我并不是在寻找特定问题的解决方案,而只是其中一个更好(更灵活,更有效,更直观)然后另一个,或者如果我完全错过了某些东西,例如使用另一种技术。非常感谢。
PS 这不是真正的模型,而是一个相当不错的表示。