C# Linq选择多个新列

C# Linq选择多个新列,c#,linq,C#,Linq,我试图使jquery自动完成,在这里我使用一个标签和值,这意味着我需要以 { label: 'label text', value: 'value text' } 但是,我正在筛选员工列表,这是一个具有以下结构的类: public sealed class Employee { public string Name { get; set; } public string PersonnelNumber { get; set; } public int RecID { g

我试图使jquery自动完成,在这里我使用一个标签和值,这意味着我需要以

{ label: 'label text', value: 'value text' }
但是,我正在筛选员工列表,这是一个具有以下结构的类:

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();
其中employees是
employees
对象的列表,但它抛出的生成错误为

错误1无法从用法推断方法“System.Linq.Enumerable.SelectMany(System.Collections.Generic.IEnumerable,System.Func>)”的类型参数。尝试显式指定类型参数


如何解决此问题以在对象的新列表中获取
名称
RecID
,并将
标签
作为其输出?

我想您只需要在此处使用
选择

var jsonResult = employees
    .Select(emp => new { label = emp.Name, value = emp.RecID })
    .ToList();

SelectMany
用于“展平”一组集合。因为您只有一个集合,所以只需使用
选择

var jsonResult = employees.Select(emp => new { label = emp.Name, value = emp.RecID })
                          .ToList();

如果你要回家,那我也是汉克斯,这就是我想要的。漫长的复活节周末过后,我的大脑没有恢复到正常的速度,我想如果你想要多张唱片的话,
SelectMany