如何使用 enumerable 和 model 返回 enumerable?

How to return enumerable with enumerable and with model?

提问人:Nutty Bunny 提问时间:1/19/2023 更新时间:1/19/2023 访问量:30

问:

我不知道如何转换为要返回的类型。在这个例子中,必须有一个特定的条件,但我认为我可以处理它。对我来说,最重要的是了解如何归还它。 任务本身看起来像这样,但重点是了解如何处理此类退货(对于每个客户,请列出位于同一国家和同一城市的供应商)

       public static IEnumerable<(Customer customer, IEnumerable<Supplier> suppliers)> Linq2(
            IEnumerable<Customer> customers,
            IEnumerable<Supplier> suppliers
        )
        {
            var q2 = from customer in customers
                select new Collection() { customer, suppliers };
            return q2;
        }

我试过这个,但匿名类型发生错误。

我尝试使用linq返回,但由于匿名类型而出现错误

C# LINQ IEnumerable 匿名类型

评论


答:

-1赞 Tim Schmelter 1/19/2023 #1

对于每个客户,列出位于同一国家/地区的供应商 和同一个城市

您可以使用以下 LINQ 查询:

return customers
    .Select(c => (customer:c, suppliers:suppliers
        .Where(s => s.Country == c.Country && s.City == c.City)
        .ToList()));

没有必要,你已经没有了。但它是延迟执行的 LINQ 查询,因此,如果以后多次访问它们,可能会遇到性能问题。如果需要,还可以在查询末尾附加 a。ToListIEnumerable<Supplier>ToList

评论

0赞 Nutty Bunny 1/19/2023
感谢答案!