Vb.net 如何一次通过一个IList字段?

Vb.net 如何一次通过一个IList字段?,vb.net,linq,visual-studio-2008,collections,dynamic-linq,Vb.net,Linq,Visual Studio 2008,Collections,Dynamic Linq,我使用动态LINQ库代码示例动态返回一些数据。根据用户输入,我返回的列数是可变的。我正在将IQueryable枚举到IList中 我需要做的是一次一个字段地遍历Ilist。我可以通过迭代IList的行一次得到一行,但我不能从集合中抽出一个字段 例如,这里我返回两列硬编码的测试,但在prod中,它将根据用户选择的字段而变化: Dim Dynq = dc.dt _ .Where("RUN_ID = """ & runNumber & """ a

我使用动态LINQ库代码示例动态返回一些数据。根据用户输入,我返回的列数是可变的。我正在将IQueryable枚举到IList中

我需要做的是一次一个字段地遍历Ilist。我可以通过迭代IList的行一次得到一行,但我不能从集合中抽出一个字段

例如,这里我返回两列硬编码的测试,但在prod中,它将根据用户选择的字段而变化:

Dim Dynq = dc.dt _
                    .Where("RUN_ID = """ & runNumber & """ and Upper_Pressure > 95") _
                    .OrderBy("Upper_Pressure") _
                    .Select(" new (Run_ID,Process)")

        Dim something = DirectCast(Activator.CreateInstance(GetType(List(Of )).MakeGenericType(Dynq.ElementType), Dynq), IList)
现在,如果我知道列名,我可以从Ilist中提取一个字段,如下所示:

something.Run_ID.ToString
但是直到运行时我才知道我正在使用的列,并且动态地将它插入到运行时设置的变量中是不起作用的

总之,我有一个类似这样的Ilist

1  |  Auto
2  |  Auto
3  |  Manual
4  |  Manual
我想要一种返回的方式 1. 然后再回来 汽车 然后 2. 等等


在这方面,我将非常感谢那些比我更博学的人的帮助。

您的问题有点让人困惑,但我认为您希望将返回集展平,以按列然后按行的顺序返回特定列作为元素

您可以使用的一种方法是运算符

例如,在C中表示抱歉,因为我的大脑正在转一圈

// Find flattened list of some explicitly specified property values...
var flattened = something.SelectMany(e => new [] { e.Run_ID.ToString(), e.Process.ToString() });
不确定这是否是你的目标,但这可能是朝着正确方向迈出的一步