我有一个设计,但我不确定垃圾收集是否会正确进行。
我有一些神奇的苹果,有些很好吃,有些很糟糕。
我有一本字典:(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
,垃圾收集会正确进行,还是会有一些乱七八糟的引用?