here을 읽는다면 왜 나는 IList<T>
이 아닌지 왜 undestand인지 알 수 있습니다. 하지만 왜 IList를 사용합니까? 그것은 IEnumerable 일 필요가 없으므로 추가 할 필요가 없으며 인덱서 (이유가없는 이유)가 실제로 필요한 경우 ReadOnlyCollection을 사용하십시오.INotifyCollectionChanged가 IList를 사용하는 이유
0
A
답변
2
NotifyCollectionChangedEventArgs
을 살펴보십시오.
이것은 NewStartingIndex
및 OldStartingIndex
입니다.
그래서 디자인은 인덱싱 가능한 컬렉션을 기반으로합니다. 예를 들어 목록 상자에 편리하다고 가정합니다.
0
나는 INotifyCollectionChanged
의 경우 속성이 문자열로 저장되기 때문에 이름으로 구성 요소를 조회해야하는 경우가 종종 있으므로 문자열을 가져 오는 인덱서가 있어야합니다 (그리고 기본 구조는 아마도 HashTable과 같아야합니다). MSDN webpage에
다음과 같은 권고 찾을 수 있습니다 : 당신이 고급 시나리오를 가지고 자신의 수집을 구현하려면
것은 개체의 제네릭이 아닌 모음을 제공은 IList를 사용하여 고려를하는 수 인덱스별로 개별적으로 액세스 할 수 있으며 이 최상의 성능을 제공합니다.
1
인덱싱은 목록 가상화 시나리오에서 바람직합니다.
IList
은 요소에 대한 인덱싱 된 액세스를 제공하는 가장 간단한 컬렉션 인터페이스입니다. ReadOnlyCollection
은 구체적인 클래스이므로 구현자를 훨씬 더 제한합니다.
관련 문제
- 1. Silverlight에서 IList를 사용하는 방법
- 2. IList를 dataProvider로 사용하는 DropDownList의 빈 항목
- 3. IList를 반복합니다.
- 4. ArrayList 또는 IList를 사용해야합니까?
- 5. IEnumerable 또는 IList를 반환해야합니까?
- 6. NSArray에서 SQLite를 사용하는 이유
- 7. MonadState에서 MultiParamTypeClasses를 사용하는 이유
- 8. Less.js에서 JavaScript를 사용하는 이유
- 9. params 키워드를 사용하는 이유
- 10. Javascript에서 .prototype을 사용하는 이유
- 11. 적용 방법을 사용하는 이유
- 12. "^"를 사용하는 주요 이유
- 13. 우리가 사용하는 이유
- 14. iOS에서 performSelector를 사용하는 이유
- 15. AS3에서 void를 사용하는 이유
- 16. AutoMapper를 사용하는 이유
- 17. Atlassian Crowd를 사용하는 이유
- 18. 안드로이드에서 HandlerThread를 사용하는 이유
- 19. Android에서 BaseColumns를 사용하는 이유
- 20. .ejb 파일을 사용하는 이유
- 21. MVC/라우터를 사용하는 이유
- 22. 어떤 사람이 C에서 IList를 사용하는 방법을 도와 줄 수 있습니다 #
- 23. Ilist를 ArrayList로 캐스트하는 방법은 무엇입니까?
- 24. 배열이 IList를 지원하는 이유는 무엇입니까?
- 25. TypedArray에서 recycle() 메서드를 사용하는 이유
- 26. ImageSwitcher에서 makeView() 메서드를 사용하는 이유
- 27. 데이터 소스에 JNDI를 사용하는 이유
- 28. Ruby의 DBM 라이브러리를 사용하는 이유
- 29. 플라스크가있는 경우 werkzeug를 사용하는 이유
- 30. 아이폰에서 #ifdef 디버그를 사용하는 이유