У меня есть библиотека классов, написанная на C#, которую я использую для записи ошибок и другой информации в текстовые файлы или файлы журналов. Проблема в том, что он меняет текст, когда он записывает его в файл. Он вызывается приложением vb.net.Почему StreamWriter изменяет текст, который он записывает в файл?
Текст, который должен быть написан:02-20-2017 08:17:42 - Personality Update() beginning:
Текст, который фактически написано:02-20-2017 08:17:42 - Per42onaliA17 Up20aAe() beA.D.inninA.D.:
Ниже приведен код, который вызывает метод выписывать строку.
errHandler.AddLineToLogFile(Me.MasterLogFileName, "Personality Update() beginning:")
Ниже приведен метод, который вызывается.
public void AddLineToLogFile(string logFile, string message, bool replaceExistingFile = false)
{
DateTime now = DateTime.Now;
using (StreamWriter writer = new StreamWriter(logFile, !replaceExistingFile))
{
writer.WriteLine(now.ToString("MM-dd-yyyy HH:mm:ss - " + message));
writer.WriteLine(" ");
}
}
Может ли кто-нибудь помочь мне с этой проблемой?
Почему вы делаете message.ToString() для строковой переменной? – Rumplin
«message» - это уже строка, которую вам не нужно преобразовывать в строку. – imsome1
Ваше сообщение также находится в ToString() из 'now' DateTime. поэтому поэтому символ «преобразуется» в 42 (s стоит в секундах) и т. д. –