c# - StreamWriter 错误地写入文本文件的内容

标签 c# winforms streamwriter

我正在使用 StreamWriter 类将一些文本写入新创建的文本文件,但输出总是出奇地错误,这是我的代码:

StreamWriter sw = new StreamWriter("newtextfile.txt", false, Encoding.Unicode);
for (int d = 0; d < count; d++)
{
    sw.WriteLine(d + '^' + str1[d] + '^' + str2[d] + '^' + str3[d]);
}
sw.Flush();
sw.Close();

输出如下(这是文件的开头):

65342STR1^STR2^STR3
65343STR1^STR2^STR3

...等等

我不知道为什么 WriteLine 会跳过 d + '\' 并写入那个随机数。

最佳答案

尝试使用":

sw.WriteLine(d + "^" + str1[d] + "^" + str2[d] + "^" + str3[d]);

像这样的表达

int d = 0;
var t = d + '^'; // int + char

t 的类型是int,而不是string


在你的例子中,65342 (== 0xFF3E) 出现是因为它是这个特殊的 ^ 类字符(全角抑扬符)的 Unicode口音)。

关于c# - StreamWriter 错误地写入文本文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26040127/

相关文章:

c# - 所查看的 MSMQ 消息的 message.ID 不知何故丢失

c# - 在 winforms 中使用 c# 在选中列表框中的项目索引

c# - 在 TreeView c# 中向上移动树节点的处理程序崩溃

c# - 如何使用 C# StreamWriter 始终写入现有本地驱动器

C# StreamWriter - 复制内存时检测到可能的 I/O 竞争条件

c# - 使用 { get; 实现只读属性}

c# - 在 C# 的中继器中选择 CheckBox 时如何避免页面刷新?

c# - 将文件写入 Web 服务器 - ASP.NET

c# - NancyFX - 对未捕获的异常返回自定义错误响应

c# - 自定义 WinForms 按钮不改变图像?