我写了这段代码来计算文本文件中的字符数:
sr.BaseStream.Position = 0;
sr.DiscardBufferedData();
int Ccount = 0;
while (sr.Peek() != -1)
{
sr.Read();
Ccount++;
}
但是在将此代码应用到包含以下内容的文件之后:
1
2
3
4
5
6
7
8
9
0
帐户 = 30 ???? 为什么? 我在我的 Macbook 上的虚拟盒子上使用 Windows Xp 使用的程序:Microsoft Visual Basic 2010。
最佳答案
在 Windows 中,每个新行由两个字符 \r
和 \n
组成。你有 10 行,每行有 1 个可见字符和 2 个新行字符,总共 30 个字符。
如果您在 Mac 或 Unix/Linux 中创建文件,您会得到不同的结果(20 个字符)。因为 Unix 仅使用 \n
而 Mac 仅使用 \r
换行。
您可以使用一些编辑器(例如 Notepad++)来显示换行符,甚至可以在不同模式(DOS/Unix/Mac)之间切换。
关于c# - c#中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16017077/