Я посмотрел на это, и я почти понял его, но у меня есть эта оставшаяся ошибка времени выполнения.
Мой код выглядит следующим образом:Ошибка памяти из вложенного цикла C#
while ((line = reader.ReadLine()) != null)
{
while (reader.Peek() != '\r')
{
datalinestream.Add(GetWord(reader));
}
LuceneDB.AddUpdateLuceneIndex(new MATS_Doc(datalinestream));
datalinestream.Clear();
}
Код импорта данных, но цикл не будет ломаться и приведет к краху из-за следующей
«Необработанное исключение типа«системы. OutOfMemoryException»произошел в mscorlib.dll»
Что такое соответствующие условия перерыва для внешнего времени цикла, чтобы гарантировать, что я прочитал весь файл и разорвать в конце. Я борюсь с этим, так как мне нужно перейти к следующей строке, и мне нужно пропустить первую строку в электронной таблице. Любая помощь очень ценится.
* UPDATE *
очистить список строк, так как я создаю документ для индекса Lucene, и он имеет только около 14 полей в нем, и я не хочу список, чтобы получить слишком большой.
Мой код GetWord
private string GetWord(TextReader inputdata)
{
String word = "";
while (inputdata.Peek() >= 0)
{
word += (char)inputdata.Read();
if ((word.Contains(";"))) break;
}
return word;
}
Что 'GetWord' делать? Насколько велик ваш файл? –
Мой файл довольно маленький 15 kb. его только, как 50 строк с разделителями с двумя двоеточиями. Код работает, и он зависает, как будто он как-то застрял. – TheCodeNovice