本文介绍了列表>>添加;当我清除TempLst时,MasterLst也将清除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的代码中,我正在使用MasterLst of List<keyvaluepair><int,>>>类型的列表.

当我添加TempLst of List<timespansent> type to MasterLst时,然后当我清除TempLst时,MasterLst也将清除.
我如何避免这种情况

代码:

 静态列表< keyvaluepair>< int,>>> Masterlst =  List< keyvaluepair>< int,>>>();

列表×pansent> lsttemp = 列表< timespansent>();


 for ( int  i =  0 ; i <  lstday.Count; i ++)
{
lsttemp.Add(lstday [i]);
}
Masterlst.Add( KeyValuePair< int,>>(DayID,lsttemp));

                          lsttemp.Clear(); 


请帮我...
在此先感谢.与lsttemps单独列表声明相同.

如果您想跟踪masterlst中的列表,则需要将其放置在masterlst中的第二个列表.

但是,如果我正确理解了您的示例,则您只想清除lsttemps,因为您已将其添加到masterlst中,不是吗?

如果是这样,只是不清除lsttemp,而是将其值设置为null,那么剩下的唯一参考管理者是masterlst,当您从主列表中删除列表时,您可以决定清除它,或者如果您根本不清除它希望垃圾收集器将其全部处理.

我希望我提供了足够的信息.


In my code i am using MasterLst of List<keyvaluepair><int,>>> type of list.

When i add a TempLst of List<timespansent> type to MasterLst and then when i Clear the TempLst the MasterLst Also get Clear.
How can i Avoid this

Code:

static List<keyvaluepair><int,>>> Masterlst = new List<keyvaluepair><int,>>>();

List<timespansent> lsttemp = new List<timespansent>();


for (int i = 0; i < lstday.Count; i++)
{
lsttemp.Add(lstday[i]);
}
Masterlst.Add(new KeyValuePair<int,>>(DayID, lsttemp));

                          lsttemp.Clear();


Please Help me...
Thanks in Advance....

解决方案


这篇关于列表&gt;&gt;添加;当我清除TempLst时,MasterLst也将清除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 15:19