[英]How to load large file with StreamReader in C#?
我在 C# 中使用 StreamReader 將 txt 文件加載到列表中,它適用於小文件 <= 20 Mb 但是當我需要加載大文件時,prepossess 停止並向我展示這個
您的應用已進入中斷 state,但當前沒有執行所選調試引擎支持的代碼(例如,僅執行本機運行時代碼)。
我正在使用 Visual Studio 2017。
這是代碼
line = reader.ReadLine();
while (line != null)
{
if (line.Contains("@"))
{
myEmails.Add(line);
line = reader.ReadLine();
}
}
reader.Close();
您的代碼只是有一個小的邏輯錯誤。
在您的循環中,您正在尋找包含@
符號的行。 如果該行有一個,它將它添加到myEmails
並獲取下一行。
但是,如果該行不包含@
,則永遠不會讀取下一行,因此您將進入無限循環。
你只需要移動line = reader.ReadLine();
在if
語句之外,它總是會讀取下一行,無論它是否包含@
符號:
line = reader.ReadLine();
while (line != null)
{
if (line.Contains("@"))
myEmails.Add(line);
line = reader.ReadLine();
}
reader.Close();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.