我有一个设计,但我不确定垃圾收集是否会正确进行。
我有一些神奇的苹果,有些很好吃,有些很糟糕。
我有一本字典:(BasketList = Dictionary <basketID,Basket>
篮子清单)。
每个Basket对象都有一个对象,每个对象Apple都Basket存储一个对对象的引用AppleSeperation。AppleSeperation 存储 2 个字典,YummyApples = <basketID,Apple>并且 BadApples = Dictionary<basketID,Apple>,所以当我被问到苹果在哪里时,我知道。
一个Apple对象 stores BasketsImIn = Dictionary<ID,Basket>,它指向 Basket 和 in Shops,以及 Apple in Basket。
我的问题是,如果我从中删除一个篮子BasketList并确保我从中删除 AppleBadApples和/或YummyApples,垃圾收集会正确进行,还是会有一些乱七八糟的引用?