读取文本文件到二维数组

本文关键字:二维数组 文件 取文本 读取 | 更新日期: 2023-09-27 18:10:52

我不知道如何计算平均数。我得到了我所期望的输出,除了我想在所有其他信息旁边的一列中输入的平均值。非常感谢能帮我看的人。

using System;
using System.IO;
public static class Program
{
static void Main()
{
    string file="marks2D.txt";
     string outfile="average.csv";
    StreamReader sr= new StreamReader(file);
    StreamWriter outstream= new StreamWriter(outfile);
    double[,] temp=new double[5,6];
    int num=0;
    double ave=0;

for(int i=0; i<temp.GetLength(0); i++)
    {
        double sum=0;
        string line=sr.ReadLine();
        for(int j=0; j<temp.GetLength(1); j++)
        {

          double m=double.Parse(line);
          temp[i,j]=m;
          sum+=m;
          ave = sum/5;
            //temp[i,j]=line;
            outstream.WriteLine(ave);
            outstream.WriteLine("{0,1}", temp[i,j]);
        }

    }
    outstream.WriteLine();
    Console.WriteLine();

    sr.Close();
    outstream.Close();

}
}

读取文本文件到二维数组

您已将temp声明为二维数组。

string[,] temp=new string[5,6];

然后尝试使用一个索引

设置2D数组的值
temp[num]=line;

这不可能。对于2D数组,必须使用2个索引

temp[i, j]=line;

您正在获得" name字段不存在于当前上下文中"错误,因为您已经注释掉了字段变量,因此它不存在。

你已经声明了一个二维字符串数组,但是你在循环中引用它作为一维数组。

更改行

   temp[num]=line;

:

   temp[i,j]=line;

还有,您忘了注释第二个输出。WriteLine,我相信变量字段被注释掉了。

//outstream.WriteLine(field[num]);