Использование оператора «using» с StreamWriter/Reader внутри циклаC#

Место общения программистов C#
Anonymous
Использование оператора «using» с StreamWriter/Reader внутри цикла

Сообщение Anonymous »

Вот моя ситуация.
  • Прочитать одну строку из текстового файла
  • "Обработать" строку
  • Запишите «обработанную» строку в новый текстовый файл
  • Перейдите к #1 и повторите до конца
Вот как я это делаю:

Код: Выделить всё

using (StreamReader srReader = new StreamReader(strInputFile))
{
// loop until EOF
while ((strCurrentLine = srReader.ReadLine()) != null)
{
// "process" strCurrentLine...

// write the "processed" strCurrentLine to a new text file
using (StreamWriter sw = new StreamWriter(strFullOutputPathFileName, false))
{
// write strCurrentLine to the new file
sw.WriteLine("stuff...");
}
}
}
Мой менеджер сказал мне, что использование оператора using, как будто я нахожусь внутри цикла, чрезвычайно снижает производительность. Причина в том, что экземпляр StreamWriter будет создаваться столько раз, сколько я зацикливаюсь. Итак, если бы я выполнил цикл 1000 раз, у меня было бы 1000 экземпляров моего объекта StreamWriter, что могло бы серьезно снизить производительность.

Правда ли это? Кроме того, является ли мой метод лучшим способом добиться этого?

Подробнее здесь: https://stackoverflow.com/questions/226 ... nside-loop

Вернуться в «C#»