List와 IEnumerable의 실제 차이점
이 질문에 이미 답변이 있습니다.
비슷한 게시물을 읽음으로써 List가 IEnumerable의 한 유형이라는 것을 알게되었습니다. 그러나 나는 그 둘의 실제적인 차이점이 실제로 무엇인지 정말로 궁금합니다.
항상 List를 사용하고 IEnumerable을 사용하지 않은 사람에게 :
- 둘의 실질적인 차이점은 무엇입니까?
- 어떤 시나리오에서 그들 중 하나가 다른 것보다 낫습니까?
다음은 실제 예입니다 . 4 개의 문자열을 저장하고 알파벳순으로 정렬 한 다음 다른 함수에 전달한 다음 사용자에게 결과를 표시하려고합니다. 우리는 무엇을 사용하고 그 이유는 무엇입니까?
누군가 나를 위해 이것을 분류하거나 올바른 방향으로 나를 가리킬 수 있기를 바랍니다. 미리 감사드립니다!
IEnumerable과 List의 중요한 차이점 중 하나는 IEnumerable이 읽기 전용이고 List는 그렇지 않다는 것입니다.
따라서 컬렉션을 영구적으로 변경 (추가 및 제거) 할 수있는 기능이 필요한 경우 List가 필요합니다. 컬렉션을 읽고, 정렬 및 / 또는 필터링해야하는 경우 IEnumerable이면 충분합니다.
따라서 실제 예제에서 한 번에 하나씩 네 개의 문자열을 추가하려면 List가 필요합니다. 그러나 컬렉션을 한 번에 모두 인스턴스화하는 경우 IEnumerable을 사용할 수 있습니다.
IEnumerable firstFourLettersOfAlphabet = new[]{"a","b","c","d"};
그런 다음 LINQ를 사용하여 원하는대로 목록을 필터링하거나 정렬 할 수 있습니다.
List 이외의 많은 유형은 ArrayList와 같은 IEnumerable을 구현합니다. 따라서 한 가지 장점은 다른 컬렉션 유형을 동일한 함수에 전달할 수 있다는 것입니다.
참고 URL : https://stackoverflow.com/questions/17448812/practical-difference-between-list-and-ienumerable
'development' 카테고리의 다른 글
선택한 명명 된 인수를 Jinja2의 include 컨텍스트에 전달하는 방법은 무엇입니까? (0) | 2020.12.06 |
---|---|
Javascript에서 True-> 1 및 False-> 0을 변환 하시겠습니까? (0) | 2020.12.06 |
C #에서 이름으로 Windows Forms 컨트롤 가져 오기 (0) | 2020.12.06 |
왜 ANT는 JAVA_HOME이 틀렸다고 말합니까? (0) | 2020.12.06 |
간단한 AngularJS 양식이 범위에서 정의되지 않았습니다. (0) | 2020.12.06 |