我的清单.c#不断添加和重写之前的所有项
本文关键字:重写 添加 我的 | 更新日期: 2023-09-27 18:07:08
foreach (var item in tweets)
{
XmlNode user = users[i];
XmlNode text = texts[i];
XmlNode id = ids[i];
string userstr = user.InnerText;
string textstr = text.InnerText;
string idstr = id.InnerText;
tweet.user = userstr;
tweet.text = textstr;
tweet.id = idstr;
tweetlist.Add(tweet);
++i;
}
return tweetlist;
我在tweetlist.add(tweet)行放了一个break,所以我确信它得到了正确的数据,但每次它向列表中添加一个新项目时,它会替换第一个并添加一个新的例如
List{id = 1, name = "bob"} + {id = 2, name = "jenny"}
是
list {id = 2 name = "jenny"}, {id = 2 , name = "jenny"}
你正在修改一个tweet
对象,然后将其添加到列表中,但是在下一次循环中再次修改它之前,你永远不会切换到不同的tweet
实例,所以基本上你是一次又一次地将相同的实例添加到列表中(记住:你添加对象引用,而不是副本!),并且每次只修改单个实例。
在第一个示例中,您重复添加'tweet'的单个实例,然后修改该实例,因此列表中的所有条目将是相同的。的新实例