C# 如何解析对象数组中的数据
我得到了一个ienumerable方法,从数据库中读取数据,并将这些数据放入对象数组中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.
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”类型的表达式