title: Problem with indexed XML file
body: <p>I scanned 2,8GB XML file for positions (Index) of particular tags. The I use <code>Seek</code> method to set a start point in that file. File is UTF-8 encoded. 
  So indexing is like that:</p>
  
  <pre><code>
  using(StreamReader sr = new StreamReader(pathToFile)){
    long index = 0;
    while(!sr.EndOfStream){
      string line = sr.ReadLine();
      index += (line.Length + 2); //remeber of \r\n chars
  
      if(LineHasTag(line)){
        SaveIndex(index-line.Length); //need beginning of the line
      }
    }
  }
  </code></pre>
  
  <p>So afterwards I have in another file indexed positions. But when I use seek it doesn't seem to be good, because the position is set somewhere before it should be. 
  I have loaded some content of that file into char array and I manually checked the good index of a tag I need. It's the same as I indexed by code above. But still <code>Seek</code> method on <code>StreamReader.BaseStream</code> places the pointer earlier in the file. Quite strange.</p>
  
  <p>Any suggestions?</p>
  
  <p>Best regards,
  ventus</p>