【发布时间】:2020-07-28 06:15:46
【问题描述】:
我确实有一串用逗号分隔的 Empid,例如:
EMpID:"2007,2008,2002,1992,1000,2108,1085
我需要使用 LINQ 查询检索所有指定员工的记录。 我尝试了循环,但我需要以高效和更快的方式实现它。
这是我使用循环所做的。
string[] EMpID_str = LeaveDictionary["EMpID"].ToString().Split(',');
for (int i = 0; i < EMpID_str.Length; i++)
{
EMpID = Convert.ToInt32(EMpID_str[i]);
//Linq to get data for each Empid goes here
}
但我需要的是使用单个 LINQ 或 Lambda 查询来检索相同的内容。不循环
【问题讨论】:
-
到目前为止你尝试过什么?显示一些您已经拥有的示例代码 - 这有助于简化网站的其他成员以便快速回答您。
-
首先将您的,(逗号)分隔的empId转换为字符串数组,如
var empArr = EmpId.split(',');var employeesResult = emplyeeList.Where(x => empArr.contains(x.EmpId.ToString())); -
@Rafalon 是的,你能提供更多关于相同的细节吗?
-
@Rajeev 数组没有
contains -
@MichaelSchönbauer 是不是有一个用于数组的 Linq 扩展,它允许我们使用
Contains呢?接受的解决方案here 似乎在数组上使用Contains
标签: c# asp.net linq lambda webapi