【发布时间】:2021-09-14 09:04:31
【问题描述】:
我想尝试使用无法正确实现的对象列表来过滤对象列表。有没有一个扩展可以用来过滤带有对象的对象?
我的尝试,
using System.Collections.Generic;
using System.Linq;
namespace MyTests
{
internal class Program
{
private static void Main(string[] args)
{
var employees = new List<Employee>();
employees.AddRange(new List<Employee>
{
new Employee
{
Id = 1,
Name = "John Doe"
},
new Employee
{
Id = 2,
Name = "Smith Doe"
},
new Employee
{
Id = 3,
Name = "Jane Doe"
}
});
var result = employees.Where(employee => employee.Name != new string["John Doe", "Smith Doe"]);
}
}
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
}
}
预期结果:
简·多伊
【问题讨论】:
-
!array.Any(employee.Name)? -
将employess数组放在其他地方进行过滤,并在where子句中使用数组的Contains方法。
employees.Where(employee => filteredEmployeesArray.Contains(employee)); -
@Ralf a
HashSet在这里效率更高。 -
result = emplyee3;效率最高 ^^ -
感谢您的反馈。我会试试你的建议。
标签: c#