C#COLLECT : IENUMERABLE 및 LIST 및 모범 사례의 성능 비교
세트를 C#로 처리 할 때 또는
를 선택하는 것이 성능과 효율성에 필수적입니다. 둘 다 요소 시퀀스를 나타내지 만 구현 방법은 매우 다릅니다.
ienumerable : 추상 인터페이스
는 요소 시퀀스의 동작을 정의하는 인터페이스입니다. 트래버스 시퀀스 요소의 작동을 제공하지만 전체 시퀀스를 메모리에로드 할 필요는 없습니다. 이를 통해 데이터가 지연되어 큰 데이터 세트를 처리 할 수 있습니다.
목록 : 특정 컬렉션 클래스
는 정렬 요소 세트의 구체적인 구현입니다. 메모리에서 시퀀스를 완전히 표현하고 인덱스를 통해 특정 요소에 빠르게 액세스 할 수 있습니다. 그러나이 장점은 전체 시퀀스를 메모리에로드하는 것이 매우 소비 될 수 있기 때문에 성능 비용이 동반됩니다.
장면 사용 IEnumerable
List
선택 또는
를 선택하십시오. 다음 지침을 고려하십시오 :
사용 상황 :
대형 데이터 세트를 처리하고 처리 지연을 처리해야합니다.
메모리에 대한 시퀀스의 오버 헤드를 피하고 싶습니다.
LINQ 표현식을 연결하고 값을 지연 시키려고합니다.
IEnumerable
사용 상황 :
인덱스를 통해 요소에 자주 액세스해야합니다.
데이터베이스는 작고 메모리에 효율적으로로드 할 수 있습니다.
반복적으로 실행 된 문의를 피하고 싶습니다.
성능 최적화 List
성능을 최적화하려면 특정 인덱스 액세스 요구가없는 한 대신 를 사용하는 것이 일반적으로 권장됩니다. LINQ 표현을 지연시키고 링크하여 는 처리 데이터를 매우 지연시킬 수 있습니다.
예
다음 LINQ 쿼리를 고려하십시오
IEnumerable
사용 지연이 값 쿼리를 찾도록 허용합니다. 가 구체적으로 결과를 얻는 데 사용되면 전체 시퀀스를 메모리에 의무화하여 성능에 영향을 줄 수 있습니다. List
더 많은 자원
위 내용은 C#의 ienumerable 대 목록 : 최적의 성능을 위해 언제 사용해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!