gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 18:14:45 24 4
gpt4 key购买 nike

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

我有一个列表:

List<IGrouping<byte, MyClass>>

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

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

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)));
}

最佳答案

您可以使用 Join,它使用基于集合的方法,因此它是 more efficient than Where :

IEnumerable<MyClass> query = 
from grp in Values
from cls in grp
join ts in Timestamps on cls.Timestamp equals ts
select cls;

List<MyClass> loadedValues = query.ToList();

关于c# - 从分组结果中获取值,但列表中的值除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49769139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com