我正在尝试将jquery自动完成,我使用标签和值like in this post,这意味着我需要以
形式的json{ label: 'label text', value: 'value text' }
但是我正在过滤Employees列表,这是一个具有以下结构的类:
public sealed class Employee
{
public string Name { get; set; }
public string PersonnelNumber { get; set; }
public int RecID { get; set; }
public string Email { get; set; }
}
所以我尝试了以下Linq来获取标签的格式,我需要的值:
var jsonResult = employees
.SelectMany(emp => new { label = emp.Name, value = emp.RecID })
.ToList();
员工是Employee
个对象的列表,但是它会抛出构建错误
错误1无法从用法推断出方法'System.Linq.Enumerable.SelectMany(System.Collections.Generic.IEnumerable,System.Func>)'的类型参数。尝试显式指定类型参数。
如何解决此问题,以便在Name
和RecID
作为输出的新对象列表中获取label
和value
?
答案 0 :(得分:5)
我想你只想在这里使用Select
:
var jsonResult = employees
.Select(emp => new { label = emp.Name, value = emp.RecID })
.ToList();
答案 1 :(得分:5)
SelectMany
用于“展平”一组收藏品。由于您只有一个集合,因此只需使用Select
:
var jsonResult = employees.Select(emp => new { label = emp.Name, value = emp.RecID })
.ToList();