C# 将数组插入到datagidview

C# 将数组插入到datagidview,c#,C#,我已经编写了一个编码,它从文本文件中提取特定的行,分割行并将数据插入gridview。下面给出了编码 不幸的是,当我执行这个程序时,我收到一个错误消息,称为“索引超出范围。必须是非负的,并且小于集合的大小。参数名称:Index”。请帮助我确定我的编码中出现了什么错误 string line; System.IO.StreamReader file = new System.IO.StreamReader("test.txt"); while ((line =

我已经编写了一个编码,它从文本文件中提取特定的行,分割行并将数据插入gridview。下面给出了编码

不幸的是,当我执行这个程序时,我收到一个错误消息,称为“索引超出范围。必须是非负的,并且小于集合的大小。参数名称:Index”。请帮助我确定我的编码中出现了什么错误

string line;           
System.IO.StreamReader file = new System.IO.StreamReader("test.txt");

       while ((line = file.ReadLine()) != null)
       {
           if (line.Contains("DISKXFER"))
               {
               string dataLine=line.ToString();
                   string[] split = dataLine.Split(',');
                   for (int i = 0; i < split.Length; i++)
                   {
                       for (int j = 1; j < dataLine.Length; j++)
                       {
                           dataGridView1.Rows[j].Cells[i].Value = split[i];
                       }
                   }
               }
       }
字符串行;
System.IO.StreamReader file=new System.IO.StreamReader(“test.txt”);
而((line=file.ReadLine())!=null)
{
if(行包含(“DISKXFER”))
{
字符串dataLine=line.ToString();
string[]split=dataLine.split(',');
for(int i=0;i
您的
DataGridView
不包含保存信息所需的行数。与将
dataGridView1.Rows[j].Cells[i]
设置为某个值不同,您需要为
dataLine
中的每个条目添加一行

您可以执行以下操作,而不是嵌套循环:

string dataLine=line.ToString();
string[] split = dataLine.Split(',');

dataGridView1.Rows.Add(split);

本页向您展示了一个示例,有关datagridview的更多信息,错误消息非常清楚:索引(
j
i
,在您的情况下)分别多于
行中的项
单元格中的项
拆分
。顺便说一句,三个嵌套循环肯定不是一个好主意。为什么不使用addrange方法呢?我想说它是索引J。DataGridView包含足够的行吗?您需要调用AddRow方法还是类似的方法?