我对c#比较新,我正在尝试编写一个程序,使用Streamreader查找文件中每个xth值的平均值。 (例如,如果我想找到该文件中每五个值的平均值)
我编写了一些代码来读取文件并将其拆分为每个逗号的新行,当我尝试读取每个特定值时,这样可以正常工作。
然而,我努力想办法找到每一个特定的值,比如每4个,然后找到它们的平均值并将它输出到同一个程序中。
static void Main(string[] args)
{
using (var reader = new StreamReader(@"file"))
{
List<string> list = new List<string>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
list.Add(values[0]);
}
}
}
任何建议或帮助将不胜感激
答案 0 :(得分:0)
试试这个;
static void Main()
{
using (var reader = new StreamReader(@"file"))
{
int lineNumber = 4;
bool streamEnded = false;
List<string> list = new List<string>();
while (!streamEnded)
{
var line = ReadSpecificLine(reader, lineNumber,out streamEnded);
if (string.IsNullOrEmpty(line))
{
continue;
}
var values = line.Split(',');
list.Add(values[0]);
}
}
}
public static string ReadSpecificLine(StreamReader sr, int lineNumber,out bool streamEnded)
{
streamEnded = false;
for (int i = 1; i < lineNumber; i++)
{
if (sr.EndOfStream)
{
streamEnded = true;
return "";
}
sr.ReadLine();
}
if (sr.EndOfStream)
{
streamEnded = true;
return "";
}
return sr.ReadLine();
}