List和clear方法存在问题:
本文关键字:问题 存在 方法 clear List | 更新日期: 2023-09-27 17:59:10
Dictionary<string, List<DisplayAllQuestionsTable>> tPages= new Dictionary<string, List<DisplayAllQuestionsTable>>();;
List<DisplayAllQuestionsTable> threadsByTopic = new List<DisplayAllQuestionsTable>();
int tPage=0;
foreach (var topicKeys in postsByTopic)
{
if (topicKeys.Key == subTopic)
{
foreach (var item in postsByTopic[topicKeys.Key])
{
questionNumber++;
maximumTopicPages++;
threadsByTopic.Add(item);//Adds All DisplayAllTables objects
//if there are 20 add a button.
if (maximumTopicPages == 20)
{
tPages.Add(tPage.ToString(), threadsByTopic);//The threadsByTopic clears everytime i call threadsByTopic.clear()
threadsByTopic.Clear();
tPage++;
}
}
我知道,如果它是一个引用,那么它的引用是通过值传递的。但是如果我把threadByTopic列表添加到字典中。。它不是按原样保存的吗。。。?还是必须重置?
实例被添加到字典中,但它仍然是相同的列表,所以当你使用clear时,u正在清除你刚刚添加的列表。U应该使用clear创建新的列表对象。