C# 将数据写入具有结果的文件不是预期的结果

C# 将数据写入具有结果的文件不是预期的结果,c#,C#,我使用此代码将字符串写入文件 var fs = File.Open(path, FileMode.OpenOrCreate, FileAccess.Write); var sw = new StreamWriter(fs, Encoding.UTF8); sw.Write(dataString); fs.Flush(); sw.Flush(); sw.Close(); 当我调试它时,我看到数据字符串是正确的。但是,在写入文件后,有些字符串的顺序错误。我应该在将数据写入文件后添加一个线程睡眠,因

我使用此代码将字符串写入文件

var fs = File.Open(path, FileMode.OpenOrCreate, FileAccess.Write);
var sw = new StreamWriter(fs, Encoding.UTF8);
sw.Write(dataString);
fs.Flush();
sw.Flush();
sw.Close();
当我调试它时,我看到数据字符串是正确的。但是,在写入文件后,有些字符串的顺序错误。我应该在将数据写入文件后添加一个线程睡眠,因为在将数据写入文件后,我会将其读回其他进程

或者可能有更好的方法将字符串写入文件

提前谢谢

或者可能有更好的方法将字符串写入文件

是的,有一个更简单的方法。使用或


除了更加简洁之外,另一个优点是即使出现异常,文件也会正确关闭。但是,我怀疑它是否会改变数据写入文件的顺序。

您所说的“顺序错误”是什么意思?请具体说明。有些字符在写入文件后与原始字符串不同。@devn:我怀疑情况是否如此。更有可能的是你错了。请提供一个完整、完整、最低限度的工作代码示例来演示问题,并且我们都可以运行和重现问题。如果简化代码可以解决问题,那么问题可能就在别处。
File.WriteAllText("output.txt", text, Encoding.UTF8);