C#반복자 구현 텍스트 파일 리버스
불행히도 .NET 프레임 워크는 Build -in Reverse Reading 텍스트 파일의 기능을 제공하지 않았습니다. 이 기능을 달성하려면 사용 된 인코딩 체계에 따라 사용자 정의 처리를 사용자 정의해야합니다. 사용자 정의 솔루션
캐릭터 탐지기 :
장거리 코딩 (UTF-8 및 유니 코드)의 경우, 독자는 바이트 모드를 분석하여 각 문자의 시작 위치를 식별합니다.반복 증가 : 리버스 처리 흐름은 전체 파일을 메모리에로드하지 않도록 각 줄을 증분량으로 생성합니다.
사용 방법결론
<code class="language-csharp">public sealed class ReverseLineReader : IEnumerable<string> { public ReverseLineReader(Func<Stream> streamSource, Encoding encoding) { } public IEnumerator<string> GetEnumerator() { } }</code>
와 유사한 작업을 단순화 할 수 있습니다. 그러나 리버스 판독 값은 추가 분석이 필요하기 때문에 긍정적 인 판독 속도보다 느린다는 점에 유의해야합니다.
위 내용은 c# iterators를 사용하여 큰 텍스트 파일을 반대로 효율적으로 읽을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!