C# 如何使用其他列表筛选列表?
我们有以下员工名单C# 如何使用其他列表筛选列表?,c#,linq,C#,Linq,我们有以下员工名单 List<Employee> EmployeeList =new List<Employee>(); EmployeeList.Add(new Employee{ Id=101, Name="XYZ" }); EmployeeList.Add(new Employee{ Id=102, Name="QRS" }); EmployeeList.Add(new Employee{ Id=103, Name="ABC" }); EmployeeList.Ad
List<Employee> EmployeeList =new List<Employee>();
EmployeeList.Add(new Employee{ Id=101, Name="XYZ" });
EmployeeList.Add(new Employee{ Id=102, Name="QRS" });
EmployeeList.Add(new Employee{ Id=103, Name="ABC" });
EmployeeList.Add(new Employee{ Id=1101, Name="DEF" });
有谁能帮我们只找到101103名员工
提前感谢。您不需要使用
ToString()
,它可以处理任何数据类型,而不仅仅是字符串。您当前的代码应该给出一个错误,因为selectedEmployeeIds
的类型是long
,并且您正在对照字符串检查它
var selectedEmployees= (from record in EmployeeList
where selectedEmployeeIds.Contains(record.Id)
select record).ToList();
您不需要使用ToString()
,它可以处理任何数据类型,而不仅仅是字符串。您当前的代码应该给出一个错误,因为selectedEmployeeIds
的类型是long
,并且您正在对照字符串检查它
var selectedEmployees= (from record in EmployeeList
where selectedEmployeeIds.Contains(record.Id)
select record).ToList();
最后,我们得到了上述查询的结果
List<Employee> filteredRecords = (from a in EmployeeList join b in selectedEmployeeIds on a.ID equals b select a).ToList();
List filteredRecords=(从EmployeeList中的a加入a.ID上SelectedEmployeeID中的b等于b选择a);
最后,我们得到了上述查询的结果:
List<Employee> filteredRecords = (from a in EmployeeList join b in selectedEmployeeIds on a.ID equals b select a).ToList();
List filteredRecords=(从EmployeeList中的a加入a.ID上SelectedEmployeeID中的b等于b选择a);
对不起。恐怕Contains()只接受char或string。任何其他可能性,如join table。@Sravan,不,不,请尝试上面的代码,如果您的记录.Id
的类型为long,则此代码应该可以工作。@Sravan,对于示例代码,此selectedEmployeeIds.Contains(101)
也将返回true。恐怕Contains()只接受char或string。任何其他可能性,如join table。@Sravan,不,不,请尝试上面的代码,如果您的记录.Id
的类型为long,则此代码应该可以工作。@Sravan,以及此selectedEmployeeIds.Contains(101)
将为您的示例代码返回true