development

List와 IEnumerable의 실제 차이점

big-blog 2020. 12. 6. 21:46
반응형

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

반응형