Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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
C# 如何解析对象数组中的数据_C#_Arrays_Object_Indexing_Sqldatareader - Fatal编程技术网

C# 如何解析对象数组中的数据

C# 如何解析对象数组中的数据,c#,arrays,object,indexing,sqldatareader,C#,Arrays,Object,Indexing,Sqldatareader,我得到了一个ienumerable方法,从数据库中读取数据,并将这些数据放入对象数组中 while (reader.Read()) { var values = new object[reader.FieldCount]; reader.GetValues(values); yield return values; } 在另一种方法中,我迭代这些对象 foreach (var items in repo.ExecuteReader() { rss.

我得到了一个ienumerable方法,从数据库中读取数据,并将这些数据放入对象数组中

while (reader.Read())
{
    var values = new object[reader.FieldCount];
    reader.GetValues(values);
    yield return values;
}
在另一种方法中,我迭代这些对象

foreach (var items in repo.ExecuteReader()
   {
        rss.Id = items[0]; // not work
        yield return items;
   }
如何为“项”数组编制索引

SqlDataReader reader = repo.ExecuteReader();
while (reader.reas.Read()) {
       rss.Id = (int)reader[0]; // should work
更新

试试这个


ExecuteReader()
方法的结果必须先解除绑定到正确的类型(看起来像强制转换,但这是解除绑定),然后才能分配给对象或变量

更新

试试这个


ExecuteReader()
方法的结果必须先解除绑定到正确的类型(看起来像强制转换,但这是解除绑定),然后才能分配给对象或变量


尝试先施放,请参见以下内容:

foreach (var items in repo.ExecuteReader()
   {
        var obj[] = (object[])items;
        rss.Id = obj[0];
        yield return obj;
   }

尝试先将其强制转换,请参见以下内容:

foreach (var items in repo.ExecuteReader()
   {
        var obj[] = (object[])items;
        rss.Id = obj[0];
        yield return obj;
   }

解决方案由Hari Prasad提供,只需从

   foreach (var items in repo.ExecuteReader()) {} 


现在索引和强制转换正在工作

解决方案由Hari Prasad提供
,只需从

   foreach (var items in repo.ExecuteReader()) {} 


现在索引和转换正在工作

项目的类型是什么?是
object[]
?你说“//not work”是什么意思?@Hari是的,public IEnumerable ExecuteReader()尝试使用此
foreach(repo.ExecuteReader()中的object[]项)
。我很高兴它解决了你的问题。
项的类型是什么?是不是
object[]
?你说“//not work”是什么意思?@Hari是的,public IEnumerable ExecuteReader()尝试使用这个
foreach(repo.ExecuteReader()中的object[]项)
。我很高兴它解决了你的问题。它说:“不能用[]对'object'类型的表达式应用索引”。它说:“不能用[]应用索引。”指向“object”类型的表达式