Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DataTable.Rows.IndexOf抛出System.IndexOutOfRangeException C#_C#_Sql_Datatable_Indexof - Fatal编程技术网

DataTable.Rows.IndexOf抛出System.IndexOutOfRangeException C#

DataTable.Rows.IndexOf抛出System.IndexOutOfRangeException C#,c#,sql,datatable,indexof,C#,Sql,Datatable,Indexof,我有一个名为table的DataTable。我需要找到存储在表中的数据行的索引 DataRow[] user = table.Select("Username = '" + username + "'"); table.Rows.IndexOf(user[0]); 第一行很好用。我知道它返回一个有效的DataRow,因为我在别处使用了DataRow。但是,当我运行table.Rows.IndexOf(用户[0])时,它抛出一个System.IndexOutOfRangeException,说“

我有一个名为
table
DataTable
。我需要找到存储在
中的
数据行
的索引

DataRow[] user = table.Select("Username = '" + username + "'");
table.Rows.IndexOf(user[0]);

第一行很好用。我知道它返回一个有效的
DataRow
,因为我在别处使用了
DataRow
。但是,当我运行
table.Rows.IndexOf(用户[0])时
,它抛出一个
System.IndexOutOfRangeException
,说“索引超出了数组的边界”。我不明白为什么会抛出异常。有人有什么想法吗?

@ServerS问题是您没有收到第一行的任何行,计数为0。在执行用户[0]之前,可能需要检查计数。下面是你的示例代码。我试过了,效果很好

        DataTable table = new DataTable();
        table.Clear();
        table.Columns.Add("Username");
        table.Columns.Add("Marks");

        DataRow dataRow = table.NewRow();
        dataRow["Username"] = "xyz";
        dataRow["Marks"] = "500";
        table.Rows.Add(dataRow);
        var username = "xyz";

        DataRow[] user = table.Select("Username = '" + username + "'");
        if(user.Length > 0 )
        table.Rows.IndexOf(user[0]);

在您的表格中是否有“Username=xxxxxx”字段?这就是它要找的。有一个名为Username的列。当您将鼠标悬停在user上时,在第一行中,是否可以看到{System.Data.DataRow[1]}?我通过创建一个虚拟表并添加一行来运行代码。它毫无例外地工作。我认为引发异常的是
user[0]
。您的查询不能返回任何results@JFT它显示{System.Data.DataRow[0]}@Rufus L我添加了一些注释。谢谢