您好,有关语句C# Dictionary.clear( ) 的问题,求大佬帮帮忙!

若Dictionary中的值为ArrayList对象,那么在执行Dictionary.clear( )时,会把ArrayList对象销毁么?ArrayList中的对象也会被销毁么?
若不能把ArrayList中的对象销毁,可以有什么方法吗?

慕标琳琳
浏览 235回答 2
2回答

Smart猫小萌

Clear方法只能移除Dictionary自身的所有元素,不会把ArrayList对象销毁。要执行ArrayList对象的Clear方法,才会移除ArrayList对象的元素。对于托管的静态的引用类型对象,要垃圾收集器较早的回收,可以赋予null值。

拉莫斯之舞

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;}
打开App,查看更多内容
随时随地看视频慕课网APP