> 백엔드 개발 > C++ > C#의 ienumerable 대 목록 : 언제 어느 것을 선택해야합니까?

C#의 ienumerable 대 목록 : 언제 어느 것을 선택해야합니까?

Mary-Kate Olsen
풀어 주다: 2025-01-29 04:46:14
원래의
955명이 탐색했습니다.

ienumerable 및 목록의 차이와 성능 효과는 c# IEnumerable vs. List in C#: When Should You Choose Which?
입니다. C#에서 컬렉션을 처리 할 때 와

의 차이는 매우 중요합니다. 는 열거자를 나타내며, 이는 컬렉션을 가로 지르는 방법을 제공합니다.

다음 두 개의 linq 쿼리를 고려하십시오 : 열거 자의 작동 원리 를 사용할 때 디버깅에는 "내부"및 "외부"와 같은 멤버가 표시되며 혼란 스러울 수 있습니다. "내부"멤버에는 연결 세트 (종)의 물체가 포함되고 "외부"멤버는 초기 세트 (동물)의 객체를 포함합니다. 연결 작업을 수행하기 위해이 멤버를 사용하여 쿼리하십시오.

성능 고려 사항

성능 측면에서 는 열거 쿼리까지 지연되기 때문에 일반적으로 더 선호됩니다. 를 사용하면 즉시 특정 결과를 계산하고 특정 결과를 계산해야하며, 이는 최적화 기회를 제한 할 수 있습니다. IEnumerable 그러나 쿼리를 여러 번 수행 해야하는 경우 매번 쿼리 계산을 방지 할 수 있기 때문에 List보다 효율적으로 변환됩니다. IEnumerable 장면 사용 List IEnumerable 다음 상황에 적용 할 수 있습니다

나중에 실행을 지연시키고 싶습니다.

쿼리 성능을 최적화하려고합니다.

여러 반복이 필요할 수 있습니다.
<code class="language-csharp">List<animal> sel1 = (from animal in Animals 
                    join race in Species
                    on animal.SpeciesKey equals race.SpeciesKey
                    select animal).Distinct().ToList();

IEnumerable<animal> sel2 = (from animal in Animals 
                           join race in Species
                           on animal.SpeciesKey equals race.SpeciesKey
                           select animal).Distinct();</code>
로그인 후 복사

다음 상황에 적용 할 수 있습니다 쿼리가 여러 번 실행되는 것을 방지해야합니다. 특정 수집 객체를 사용하고 싶습니다.

를 사용할 수없는 멤버에 액세스해야합니다.

IEnumerable 결론

와 사이의 선택은 응용 프로그램의 특정 요구 사항에 따라 다릅니다. 실행 지연 및 성능 최적화는 를 사용하고 즉시 특정 수집 기능을 계산 해야하는 경우 를 사용하십시오.

위 내용은 C#의 ienumerable 대 목록 : 언제 어느 것을 선택해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿