C#
키워드 : 컬렉션 반복 최적화
C# 2.0에 도입 된 C# yield
키워드는 컬렉션을 통해 효율적인 반복자를 만들기위한 강력한 메커니즘을 제공합니다. 이것은 컬렉션의 일부만 노출 해야하는 대형 데이터 세트 또는 시나리오를 처리 할 때 특히 관련이 있습니다.
의 기능
는 메소드가 yield
객체를 반환 할 수 있도록합니다. 이 인터페이스는
는 전체 컬렉션을 한 번에 메모리에로드 할 필요가 없습니다. 대신, 루프가 yield 기반 메소드를 반복 할 때, 메소드는 a 명령문에 직면 할 때까지만 실행됩니다. 그런 다음 수율 값을 반환하고 실행을 중단합니다. 이 메소드는 반복에서 다음 요소가 요청 될 때만 실행을 재개합니다. 이것은 본질적으로 주문형 값을 생성하는 상태 머신입니다.
예시적인 예 yield
IEnumerable
여기서 foreach
yield
는 및
실제 응용 프로그램 foreach
yield
키워드는 다음과 같은 광범위한 사용을 찾습니다
yield return
컬렉션을 사전 채집하는 오버 헤드없이 사용자 정의 데이터 구조 또는 알고리즘을위한 반복자 생성. 효율적인 데이터 검색 :
데이터베이스 또는 기타 외부 소스에서 데이터를 검색하여 메모리 소비를 줄이고 성능을 향상시킵니다. 데이터베이스에서 읽는이 예를 고려하십시오
<code class="language-csharp">IEnumerable<object> FilteredList(IList<object> fullList, IList<object> partialList) { foreach (object item in fullList) { if (partialList.Contains(item)) yield return item; } }</code>
위 내용은 C#`수율 '키워드는 어떻게 컬렉션을 통해 효율적인 반복을 가능하게합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!