LINQ를 사용하여 C#에서 효율적인 줄별 파일 읽기
각 줄을 개별적으로 처리해야 하는 텍스트 파일을 처리할 때 StreamReader는 다음을 제공합니다. 간단한 솔루션. 그러나 효율성과 가독성을 높이기 위해 LINQ는 보다 우아한 접근 방식을 제공합니다.
전체 파일을 메모리에 로드하지 않으려면 반복기 블록을 사용하는 것이 좋습니다.
static IEnumerable<SomeType> ReadFrom(string file) { string line; using(var reader = File.OpenText(file)) { while((line = reader.ReadLine()) != null) { SomeType newRecord = /* parse line */ yield return newRecord; } } }
또는 더 간단한 방법을 위해 버전:
static IEnumerable<string> ReadFrom(string file) { string line; using(var reader = File.OpenText(file)) { while((line = reader.ReadLine()) != null) { yield return line; } } }
ReadFrom(...) 함수는 데이터 버퍼링을 방지하면서 느리게 평가된 시퀀스를 반환합니다. ReadFrom(...)을 다른 LINQ 작업(예: Where, Select)과 결합하면 작업 효율성을 저하시키지 않고 효율적인 줄별 처리를 달성할 수 있습니다.
위 내용은 C#에서 파일을 한 줄씩 읽을 때 LINQ가 어떻게 효율성을 향상시킬 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!