因此,我必须编写一个程序,从Values.txt文件中读取值(数字)并将它们存储到整数数组中(开始时我不知道数字在文件中的值,所以我不知道数组的长度)。 首先我遍历该文件并使用计数器变量来获取要存储到数组中的值的数量。然后出现这个问题,我不知道如何从文件开始捕捉值并将它们存储到数组中。 当我运行它时,我得到了0 0 0 0 0。如何重新启动StreamReader以开始读取文件的开头
如果不是
myReader.DiscardBufferedData();
myReader.BaseStream.Seek(0, SeekOrigin.Begin);
myReader.BaseStream.Position = 0;
我使用myReader.Close()
然后myReader = new StreamReader("Values.txt)
,结果是正确的,可有人请解释为什么发生这种情况,并howcan我解决这个代码:)
string lineOfText = "";
int counter = 0;
int[] intArray;
StreamReader myReader = new StreamReader("Values.txt");
while(lineOfText != null)
{
lineOfText = myReader.ReadLine();
if(lineOfText != null)
{
counter++;
}
}
intArray = new int[counter];
myReader.DiscardBufferedData();
myReader.BaseStream.Seek(0, SeekOrigin.Begin);
myReader.BaseStream.Position = 0;
counter = 0;
while(lineOfText != null)
{
lineOfText = myReader.ReadLine();
if (lineOfText != null)
{
intArray[counter] = int.Parse(lineOfText);
}
counter++;
}
myReader.Close();
for (int j = 0; j < intArray.Length; j++)
{
Console.WriteLine(intArray[j]);
}
_IF你can_,你可以通过简单地调用这简化了不少(https://msdn.microsoft.com/en-us/library ['File.ReadAllLines()'。] /s2tte0y1(v=vs.110).aspx) – CodingGorilla