【发布时间】:2012-03-18 09:52:45
【问题描述】:
我需要从同一个流中读取两次。问题是我第二次得到不同的字符串。 这是缩短的代码:
using(StreamReader sr = new StreamReader(filePath))
{
string string1 = sr.ReadToEnd();
sr.BaseStream.Position = 0;
sr.DiscardBufferedData();
string string2 = sr.ReadToEnd();
bool sameSame = string1 == string2; // false!
}
字符串看起来相同,但使用十六进制编辑器检查我可以看到值不同。这是什么原因造成的,我该如何解决?
更新
字符串1
字符串2
由于某种原因 string1 有一个 '--'。
【问题讨论】:
-
你是什么意思:“用十六进制编辑器检查”?
-
你看到了什么不同?长度?内容?
-
我比较了 edithex.com 的 string1 和 string2。这些字符产生不同的十六进制值。
-
它在哪里显示差异?我想知道这是否与 BOM 相关......另外;最初是流吗?注意:您应该避免需要重新读取流。
-
在那个工具中“--”是指“00”吗?
标签: c# stream streamreader