如何从对象数组中解析数据

how to parse data from array of objects

我得到了 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;
   }

如何索引 'items' 的数组?

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

更新

试试这个


ExecuteReader()方法的结果必须拆箱(看起来像演员,但这是拆箱)到正确的类型,然后才能分配给一个对象或变量。

Are you asking why?

先尝试施法,见下:

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()) {} 

   foreach (var object[] items in repo.ExecuteReader()

现在索引和转换工作正常