首頁 > 後端開發 > C++ > C#中逐行讀取檔案時LINQ如何提高效率?

C#中逐行讀取檔案時LINQ如何提高效率?

Linda Hamilton
發布: 2025-01-05 01:25:40
原創
350 人瀏覽過

How Can LINQ Improve Efficiency When Reading Files Line by Line in C#?

使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板