2014-06-22 1 views
0

모든 X 초마다 업데이트되는 목록이 있습니다. 새 항목이 목록에 추가되고 항목이 무엇인지 알고 싶습니다. 예를 들어목록 <string>이 변경되었는지 어떻게 확인할 수 있습니까?

나는 목록에 있습니다 : 새로운 항목이 추가 된 다음

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 

내가 뭘 원하는 것은 새로운 항목을 확인하는 것입니다 그것은 X 초 후에 하나의 항목 또는 20 일 수 있으며이 모든 항목은 목록 상단에 추가되어야합니다. 따라서 매번 마지막 항목이 첫 번째 항목이됩니다. 항목이 하나만 추가 된 경우 20 개의 항목이 추가 된 경우 항목 20이 목록의 첫 번째 항목이고 20의 항목 1이 20 번 항목 인 경우 처음 항목이됩니다.

나는 내가 필요한 것을 더 많이 안다.

그리고 단지 삽입 (0, ...)을하는 것은 좋지 않습니다.

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

newText.Insert (0, t [i]); 그것은 나중에 무엇이든 보여줍니다. 메신저에 Insert 속성을 사용하면 원하는대로 목록을 만들지 않습니다. 결국 날짜가 & 시간이되고 빈 줄이 추가됩니다.

그 이유는 삽입을 사용하지 않은 이유입니다. 삽입 . 내가 마지막 항목을 의미하는 경우

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

내가 지난 3 indexs을 의미 :

편집

나는 내가 목록 형식을 유지할 필요가 있음을 언급하는 것을 잊었다. 목록의 각 3 개의 색인은 하나의 그룹/블록과 같습니다. 리스트 형식은 다음과 같이이다 :

인덱스 0 텍스트 : 안녕하세요 세계 인덱스 1 일 & 시간 : 22/6/2014 색인이 공간/빈 줄 : 그래서

내가 이동하는 것을 의미 마지막 항목은 목록의 맨 위로 나는 색인 0에있을 것이고 색인 1에 색인 29, 색인 2에 색인 30이 될 것입니다. 색인 28에 나는 텍스트 색인 29 날짜 & 시간과 색인 30을 가지고 있기 때문에 빈 줄. 방법 ObservableCollection<T> 사용에 대한

enter image description here

+2

20 초마다 대신''스택을 사용하는 두 번째 목록에서 수집 것 'List ' –

+0

당신은 이벤트를 제공하거나 기존 이벤트를 오버로드하는 독자적인리스트 구조를 만들 수 있습니다. – MrPaulch

+3

BindingList 및 ObservableCollection 모두 목록이 변경된 경우 알려주는 이벤트가 있습니다. –

답변

2

:

이 목록 모습 어떻게? 이와

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

당신은 실시간으로 목록을 모니터링 할 수 있습니다.

무엇도 할 수 CollectionChanged 이벤트를 모니터링하고 당신은 분명히 당신이 마지막으로 추가 된 항목이 먼저 싶은 경우에, 고려

관련 문제