从分组结果中获取值,但列表中的值除外

时间:2018-04-11 07:35:30

标签: c# linq

它看起来相当简单,但我无法理解它。

我有一个清单:

List<IGrouping<byte, MyClass>>

MyClass对象有一个timestamp属性,我也有时间戳列表,现在我想知道是否有优雅的方法从分组列表中获取Timestamp属性在我的时间戳列表中的所有值?

我已经解决了这个问题,但我认为可以通过更有效的方式解决。代码看起来像:

var loadedValues = new List<MyClass>();
foreach (IGrouping<byte, MyClass> value in Values)
{
    loadedValues.AddRange(value.Select(c => c).Where(c => Timestamps.Any(point => c.Timestamp == point)));
}

1 个答案:

答案 0 :(得分:0)

您可以使用select ID, LEAST(MIN(Fig1),MIN(Fig2)) from dummy group by ID 使用基于集合的方法,因此它是more efficient than Where

Join