C# Linq选择多个新列
我试图使jquery自动完成,在这里我使用一个标签和值,这意味着我需要以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
{ 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
!