将字符串写入文件会导致C#中出现异常

ade*_*ena 1 c# string

我得到一个"FormatException:输入字符串格式不正确"错误,我不明白.

我正在使用以下行将字符串写入文本文件:

using (StreamWriter sw = new StreamWriter(myfilename, false, System.Text.Encoding.GetEncoding(enc)))
{
    sw.Write(mystring, Environment.NewLine);
}
Run Code Online (Sandbox Code Playgroud)

(编码部分是因为我在我的应用程序中有一个选项将它设置为utf-8或iso-8859-1 ...但我认为这是无关紧要的).

我的所有字符串都写得很好,除了这个字符串与其他字符串不同,因为它实际上有一段javascript代码.我确定其中一个特殊字符可能会导致问题,但我怎么知道?

我试过的一件事是在上面的sw.Write语句之前插入以下行:

System.Console.WriteLine(mystring);
Run Code Online (Sandbox Code Playgroud)

它写到控制台就好了 - 没有错误.

救命?

谢谢!(新年快乐!)

-Adeena

Øyv*_*aar 11

您使用的重载将格式作为第一个参数,然后将对象注入.

您可以执行以下任一操作:

sw.Write(mystring + Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)

要么

sw.Write("{0}{1}", mystring, Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)