是否可以循环遍历LINQ查询的结果?如果可以,如何循环遍历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];
型
3条答案
按热度按时间jei2mxaa1#
如果您可以选择更改原始LINQ语句以生成一个数据结构,从而实现您所期望的功能,我绝对建议您这样做。
如果没有,你需要使用反射来查找匿名类型的属性,然后通过反射获取这些属性的值:
字符串
zengzsys2#
字符串
yzckvree3#
好吧,我的答案实际上是基于另一个问题的stovroz答案,略有修改:
代码如下:
字符串