ienumerable 대 목록 : Linq 의 성능 고려 사항
사이를 선택하면 성능에 큰 영향을 미칩니다. 는 동작을 정의하고 는 구체적인 구현입니다. 이 차이는 최적의 사용을 이해하는 데 핵심입니다
왜 선택한 이유
사용을 여기에서 사용하면 데이터베이스 (해당되는 경우)가 필요한 데이터 만 검색하여 불필요한 오버 헤드를 피할 수 있습니다.
는 쿼리를 한 번만 실행하고 반복 처리를 피하면 더 빠른 액세스를 제공 할 수 있지만 일반적으로 우수한 성능을 제공합니다. 그것은 목록으로의 전환을 지연시켜 중복 데이터베이스 호출을 줄이고 데이터 조작을 최소화합니다. .
요약에서 와 가 더 적합합니다. 행동 추상화 ()와 콘크리트 구현 ()의 차이를 이해하는 것은 효율적인 코드를 작성하는 데 중요합니다.IEnumerable
List
를 사용하면 IEnumerable
를 사용하면 강력한 성능 최적화 기술 인 연기 실행이 가능합니다. 이것은 여러 LINQ 표현식을 함께 묶을 때 특히 유리합니다. 지연된 실행은 결과가 실제로 필요할 때까지 쿼리가 실행되지 않으므로 LINQ 제공 업체의 잠재적 최적화를 가능하게합니다.
List
예시적인 예 이 LINQ 쿼리를 고려하십시오 :
IEnumerable
vs. IEnumerable
<code class="language-csharp">public IEnumerable<Animal> AllSpotted()
{
return from a in Zoo.Animals
where a.Coat.HasSpots
select a;
}
public IEnumerable<Animal> Feline(IEnumerable<Animal> animals)
{
return from a in animals
where a.Race.Family == "Felidae"
select a;
}
public IEnumerable<Animal> Canine(IEnumerable<Animal> animals)
{
return from a in animals
where a.Race.Family == "Canidae"
select a;
}</code>
가 더 나은 옵션입니다. 즉각적인 구체화와 반복 쿼리 실행의 회피가 가장 중요하다면
위 내용은 ienumerable 대 목록 : 최적의 성능을 위해 언제 어느 것을 선택해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!