gpt4 book ai didi

c# - 使用包含参数的列表过滤集合

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:49 25 4
gpt4 key购买 nike

我有一个包含 CustomerId、CustomerName 和其他一些列的 Customers 集合。

我正在传递一个 ID 列表来过滤集合。

这就是我得到的结果 - 在此示例中,“filteredCustomers”应该包含 customerId 为 3 或 5 的客户。

List<int> customerIds = new List<int>();
customerIds.Add(3);
customerIds.Add(5);

var filteredCustomers = from Customer in Customers.Where(x=>x.CustomerId).Contains(customerIds);

我做错了什么 - 非常感谢任何帮助。

最佳答案

您可以使用:

var filteredCustomers = Customers.Where(x => customerIds.Contains(x.CustomerId));

但是,我强烈建议使用 HashSet<T>而不是 List<T>为此,因为它将使 Contains如果您将来添加更多数字,检查速度会大大加快。这看起来像:

var customerIds = new HashSet<int>();
customerIds.Add(3);
customerIds.Add(5);

var filteredCustomers = Customers.Where(x => customerIds.Contains(x.CustomerId));

关于c# - 使用包含参数的列表过滤集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969957/

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