我在使用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的开头而不是结尾(如果这是我的代码实际发生的事情)?
答案 0 :(得分:3)
您可以将Position
的{{1}}设置为BaseStream
,这仅适用于0
支持underlying stream
的情况。我希望那不是你的情况。
Position