【发布时间】:2011-12-16 12:52:05
【问题描述】:
是否可以循环 LINQ 查询的结果,如果可以,如何循环?
类似这样的:
var results= from a in dt.AsEnumerable()
where a.Field<int>("id") == i
select new
{
id= a.Field<int>("id"),
a= a.Field<double>("a"),
b = a.Field<double>("b")
};
IEnumerable<string> colNames = results.First().GetType().GetProperties()
.Select(p => p.Name);
string[] columns = colNames.ToArray();
int i = 0;
foreach (var row in results)
{
for (int i = 0; i < columns.Count(); i++)
{
string foobar = (string)row[columns[i]];
i++;
}
}
基本上,我想复制以下功能:
DataRow dr = new DataRow();
string foobar = dr[columns[i];
提前谢谢大家。
【问题讨论】:
-
你必须强制转换,所以 `string foobar = (string)dr[columns[i];
-
也许这个答案会对你有所帮助stackoverflow.com/questions/1882935/…
-
@xantos,说得好,做得好。