如何检查List <string>是否已更改?</string>

时间:2014-06-22 18:28:24

标签: c# .net winforms

我有一个每X秒获得更新的列表。 我想知道每个X秒是否已将新项目添加到列表中以及项目是什么。

例如我在列表中:

index 0 : this is a test
Index 1 : this is number one

然后在X秒后添加了一个新项目:

index 0 : this is a test
Index 1 : this is number one
Index 2 : Im a new item

我想要做的是检查任何新项目,它可以是一个项目或20秒后X秒,所有这些项目应添加到列表的顶部。所以每次最后一项都是第一项。 如果只添加了一个项目,那么如果添加了20个项目,那么它将是第一个项目,那么项目20将是列表中的第一个项目,而20项目中的项目1将是20个项目。

之前我问过,但现在我知道我需要什么。

只是做inser(0,...)并不好。

newText.Add(t[i]);
newText.Add(dateTime[i]);
newText.Add(string.Empty);

如果我正在做newText.Insert(0,t [i]);它后来显示任何东西。 如果即时通讯使用Insert属性,它将不会构建List,因为我希望它将最后添加日期和时间以及空行...

这就是为什么我没有使用Insert。

修改

我忘了提到我需要保留List格式:

newText.Add(t[i]);
newText.Add(dateTime[i]);
newText.Add(string.Empty);

当我的意思是最后一项时,我的意思是最后3个索引。 列表中的每个3个索引就像一个组/块。 List格式如下:

索引0文字:你好世界 索引1日期和时间:2014年6月22日 索引2空格/空行:

因此,当我的意思是移动到列表顶部的最后一项时,我的意思是,对于exmaple,索引28将在索引0处,然后索引29处的索引为2而索引处的索引处于索引处。 因为在索引28中我有一个文本索引29 date&amp; time和index 30 empty line。

这就是List的样子:

enter image description here

1 个答案:

答案 0 :(得分:2)

如何使用ObservableCollection<T>

http://msdn.microsoft.com/library/ms668604(v=vs.110).aspx

有了这个,你可以实时监控列表。

还可以监控CollectionChanged事件并在第二个列表中收集它,每隔20秒清除一次

相关问题