gpt4 book ai didi

c# - 如何基于除平等以外的其他谓词进行 GroupJoin?

转载 作者:太空狗 更新时间:2023-10-29 23:38:22 26 4
gpt4 key购买 nike

我想在两个集合之间执行 GroupJoin,但基于除相等性之外的其他谓词。例如,如果我有一个包含项目的集合,每个项目都包含一个范围属性,我想将它们中的每一个与另一个集合中的项目相关联,该集合的某些属性的值在该范围内。这可以用 GroupJoin 完成吗?或任何其他 LINQ 方法? Two collections with resulting groups

最佳答案

假设这些是您的数据类型:

public class Range
{
public int Start { get; set; }
public int End { get; set; }
}

public class Item
{
public int Number { get; set; }
}

这个 Linq 表达式会给你你想要的(包括重叠范围)

var ranges = new Range[];
var items = new Item[];

// ...

var rangeGroups = ranges
.Select(r=> new {Range=r, Items=items.Where(i=> (r.Start <= i.Number) && (i.Number <= r.End))});

rangeGroups 将为每个项目提供 RangeItems

查看此在线演示 - https://ideone.com/HQomfc

关于c# - 如何基于除平等以外的其他谓词进行 GroupJoin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29557397/

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