Во-первых, код, который вы разместили, поместит только первую строку файла в TextBox
. То, что вы хотите, это:
using (var reader = new StreamReader(@"C:\Test.txt"))
{
while (!reader.EndOfStream)
textBox1.Text += reader.ReadLine();
}
Теперь что касается OutOfMemoryException
: я не проверял это, но вы пробовали метод TextBox.AppendText
вместо использования +=
? Последний, безусловно, будет выделять тонну строк, большая часть которых будет почти равна длине всего файла к тому времени, когда вы приблизитесь к концу файла.
Насколько я знаю, AppendText
делает то же самое; но его существование заставляет меня подозревать, что его положили туда, чтобы справиться с этим сценарием. Я могу ошибаться - как я уже сказал, лично не проверял.