我有一个用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
“消息”已经是字符串,您不需要转换为字符串。 – imsome1
您的消息也位于'now'DateTime的ToString()中。所以这就是为什么字符'正在被转换为42(秒表示秒),等等...... –