我将Power Analzyzer的测量值存储为二维数组。单一测量有18个参数。因此,当我有4个度量值时,它们将存储在array(3)(17)
。
我想要做的是从具有唯一数量的一个参数的数组值中进行选择。接下来我想从中选择一个具有另一个参数值最高值的那个。
我将此数组中的数据复制到新的数组列表中,因此我可以使用LINQ
。
但是我写错了正确的LINQ
请求。下面我用伪代码写我的请求,这样你就会知道我想做什么。我有多组度量(11)值,并且可能有办法自动为每个组执行此操作。
dim Query = from values in measures
where measures(11) is equal in all query and
where is max value of measures(2)
select values
以下是3项措施:
measure no1: (value(1), value(2), ...value(11), .. value(18))
measure no2: (value(1), value(2), ...value(11), .. value(18))
measure no3: (value(1), value(2), ...value(11), .. value(18))
所以我有array(2)(17)
。通常我会有成百上千的措施。
所有值均为整数,值2为电压,值11为度量ID。有时措施具有相同的ID。在这种情况下,分析器会告诉我们这些措施适用于同一事件,因此我想从中选择一个在值(2)中具有最高记录值的措施。
答案 0 :(得分:0)
所以我想出了你的意思(我认为)。
试试这个:
Dim maxResultsPerById = measures.GroupBy(Function(x) x(idVal)).OrderByDescending(Function(x) x(voltageVal)).Select(Function(x) x.First())
只需将voltageVal
和idVal
替换为相应的索引。
按ID分组所有度量,然后按电压降序对它们进行排序,选择第一个作为整数数组。