StreamReader某种问题

时间:2013-08-25 05:09:03

标签: c# streamreader

我在使用StreamReader对象的c#中遇到了问题。我将StreamReader对象传递给函数,然后我通读它以收集有关其内容的一些信息。一旦我通过代码传递信息以收集信息,当我将其传递给后续函数时,我认为它是空的。

public DataScraper GetDataValues(StreamReader sr)
{

    DataScraper dsGd = new DataScraper();

    string line = string.Empty;
    int intCurrentLine = 0;
    int intLineAskingPrice = 0;
    int intLineHOADues = 0;
    int intLineTaxes = 0;
    while ((line = sr.ReadLine()) != null)
    {
        if (line.Contains("For Sale: $"))
            intLineAskingPrice = intCurrentLine;
        if (line.Contains(@"<span>HOA Fee</span>"))
            intLineHOADues = intCurrentLine - 1;
        if (line.Contains("<em>Annually:</em>"))
            intLineTaxes = intCurrentLine + 1;
        intCurrentLine++;
    }

    //<span>HOA Fee</span>
    dsGd.intAskingPrice = GetAskingPrice(sr, intLineAskingPrice);
    dsGd.intHOADues = GetHOADues(sr, intLineHOADues);
    dsGd.intTaxes = GetTaxes(sr, intLineTaxes);

    return dsGd;
}

我是否可以通过后续函数传递StreamReader对象,并且在StreamReader的开头而不是结尾(如果这是我的代码实际发生的事情)?

1 个答案:

答案 0 :(得分:3)

您可以将Position的{​​{1}}设置为BaseStream,这仅适用于0支持underlying stream的情况。我希望那不是你的情况。

Position