Поиск и чтение строки в С#

Я пытаюсь найти позицию в файле и после этого хочу использовать ReadLine. FPosition хранится раньше и соответствует началу определенной строки в файле. Может быть полезно: мой файл имеет размер 20 ГБ и является текстовым файлом.

private List<int> FPosition = new List<int>();

(...)

public List<string> LoadFile(string aFile, int aPage, int aRowsPerPage)
{
    using (var fileStream = File.OpenRead(aFile))
    {
        if (FPosition.Count <= (aPage - 1) * aRowsPerPage)
        {
            fileStream.Seek(FPosition[(aPage - 1) * aRowsPerPage], SeekOrigin.Begin);
        }
        using (var streamReader = new StreamReader(fileStream,
                                                 Encoding.Unicode,
                                                 true,
                                                 BufferSize))
        {
            for (int i = 0; aRowsPerPage - 1; i++))
            {
                myStringList[i] = streamReader.ReadLine;
            }
        }
    }
    return myStringList;
}

В какой позиции я должен выполнить этот поиск?

Спасибо за каждую помощь


person Greaka    schedule 28.09.2015    source источник
comment
Каков ожидаемый результат?   -  person Philippe Paré    schedule 28.09.2015
comment
Можете ли вы показать больше кода?   -  person Cjen1    schedule 28.09.2015
comment
Я надеюсь, что это немного проясняется   -  person Greaka    schedule 28.09.2015
comment
Ответ на ту же проблему/проблему с StreamReader дан здесь: StreamReader и поиск (дубликат)   -  person MicroVirus    schedule 28.09.2015
comment
в комментарии есть замечательное обновление, как говорится, это не фактическая позиция, и я не могу использовать _bytesRead   -  person Greaka    schedule 28.09.2015
comment
@Greaka Насколько я понял, он работает для настройки, но вы не можете «получить» текущую позицию потока после чтения, потому что StreamReader выполняет свою собственную буферизацию. Таким образом, вы можете установить позицию перед выполнением первого чтения, а затем читать с этой точки и далее. Что-то еще, кажется, не указано, если это действительно сработает.   -  person MicroVirus    schedule 28.09.2015
comment
@MicroVirus Я пробую это с некоторым кодом, который я нашел на другом веб-сайте, возможно, мне снова понадобится помощь, когда код будет готов для отладки, пока (:   -  person Greaka    schedule 29.09.2015