давай милиард в 100 потоков
У тебя уже пошли запросы не имеющие отношения к текущему посту. Я тебе привел конкретный пример, что работа с проверкой, занимает на одну миллисекунду дольше. И для ТС, в работе его шаблона это не имеет никакого значения, особенно с точки зрения оптимизации и нагрузки.
Поэтому, я считаю твое заявление в пожирании ресурсов, не относящимся к данной теме. Очевидно, без if, будет работать быстрее, как минимум на эту проверку, даже кЭпа звать не нужно!
Что касается смысла проверки, то еще раз распишу:
Этот код:
File.AppendAllText(txtPath, txtInfo);
В случае, если в файле нет строк, то он запишет наш текст, но при последующей итерации, текст записывается в конец последней строки.
Вот результат пяти последовательных циклов, как видно, каждая новая запись встает в конец последней строки предыдущей записи.
По этой причине, мы не можем использовать этот код, если в файле уже имеются строки.
Login
PasswordLogin
PasswordLogin
PasswordLogin
PasswordLogin
Password
Этот код:
File.AppendAllText(txtPath, Environment.NewLine + txtInfo);
Записывает каждую итерацию с новой строки, но при этом, если файл изначально не содержит строк, то в начало файла встает пустая строка.
Нам подходит этот код, если в файле уже есть строки, но при этом если файл пустой, то этот код будет создавать одну пустую строку.
- пустая строка
Login
Password
Login
Password
Login
Password
Login
Password
Login
Password
И если работа с файлом будет по кругу в многопотоке, то мы будем получать ситуацию, когда в файле не будет оставаться строк и возвращая строку (проксю например), у нас будет создаваться пустая строка. Чтобы этого не происходило необходима проверка.
Иными словами, этот код для отладки ситуации, которую я описал. Но если ты знаешь, более простое решение в коде, для отладки данной ситуации, то можешь поделиться им.