若Dictionary中的值为ArrayList对象,那么在执行Dictionary.clear( )时,会把ArrayList对象销毁么?ArrayList中的对象也会被销毁么?若不能把ArrayList中的对象销毁,可以有什么方法吗?
2 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
Clear方法只能移除Dictionary自身的所有元素,不会把ArrayList对象销毁。
要执行ArrayList对象的Clear方法,才会移除ArrayList对象的元素。
对于托管的静态的引用类型对象,要垃圾收集器较早的回收,可以赋予null值。
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
Dictionary<string, int> myDct = new Dictionary<string, int>();
myDct.Add("A", 1);
myDct.Add("B", 2);
myDct.Add("C", 3);
myDct.Add("D", 4);
List<string> list = new List<string>();
list.Add("B");
list.Add("C");
foreach (string s in list)
{
if (myDct.ContainsKey(s))
myDct[s] += 1;
}
foreach (string key in new string[] { "A", "B" })
{
if (myDct.ContainsKey(key)) myDct[key] += 1;
}
添加回答
举报
0/150
提交
取消