添加列表以列出问题

时间:2016-06-23 08:19:37

标签: c# winforms list datetime charts

我有相同类型的2个对象列表,第一个列表的第一个项目应该添加特定的时间。此外,每个周期我都应该使用AddSeconds()增加日期时间值。这是我的代码:

List<Logs> logList = new List<Logs>();
List<Logs> chartList = new List<Logs>();

for (int i = 0; i < specificValue; i++)
{
    chartList.Add(logList[0]);
    logList[0].Date = logList[0].Date.AddSeconds(1);                    
}

我的目的是使用更改日志创建图表数据,因此我必须使用具有增量日期值的特定时间向chartList添加相同的值。但是我的问题是这个代码创建了一个chartList,它具有上一个loglist项的所有相同值。我找到了一些使用foreach的解决方案,但在那种情况下我必须使用for循环。

1 个答案:

答案 0 :(得分:2)

当您致电chartList.Add(logList[0])时,您正在添加对象的引用,而不是创建新对象。

因此,在下一行中,当您向对象添加1秒时,还会在chartList中向对象添加1秒。实际上,chartList中的所有对象都是对完全相同的对象的引用。

将对象添加到chartList时,需要创建对象的副本。