如何使用Lambda表达式在c#中选择多个变量
如何使用Lambda表达式在c#中选择多个变量
我有一个类名为'PersonnelVehicle'的对象,其结构如下所示:
public class PersonnelVehicle { private Guid _personnelId; public Guid PersonnelId { get { return _personnelId; } } private int _Age; public int Age { get { return _Age; } } private string _personnelName; public string PersonnelName { get { return _personnelName; } } }
我知道如何使用Lambda表达式获取单个元素,例如ObjectPersonnel.Select(x=>x.PersonnelId)。
1) 但是如何使用Lambda表达式从该对象中获取多个元素,即年龄和人员名称?
2) 另外,如果我有以下PersonnelVehicle的结构,
public class PersonnelVehicle { public ObservableCollectionPersonnel_List = new ObservableCollection { new PersonnelModel{ID=Guid.NewGuid(),Name="Mr.Joe",Gender="Male",Hospital="Poly Clinic",EMPID="abc 123",Capabilities="123",Position="Assistant",Title="Test",Status="General",ICNumber="IC 123",Roles="Test"}, new PersonnelModel{ID=Guid.NewGuid(),Name="Su Su",Gender="Female",Hospital="Clementi Clinic",EMPID="abc 1234",Capabilities="1234",Position="Security",Title="Test",Status="General",ICNumber="IC 1234",Roles="Test"}, new PersonnelModel{ID=Guid.NewGuid(),Name="Ms Tan",Gender="Female",Hospital="Bishan Clinic",EMPID="abc 1235",Capabilities="1235",Position="HR",Title="Test",Status="General",ICNumber="IC 1235",Roles="Test"}, }; }
如何以相同的方式获取所有ID和职位的列表?
注意:我只需要使用Lambda表达式,所以这与此链接中的问题不同:Linq Syntax - Selecting multiple columns。
问题的出现的原因:
作者想要从Personnel_List中选择多个变量(ID和Gender),但不知道如何使用Lambda表达式来实现。
解决方法:
使用匿名类型来选择多个变量(ID和Gender)。
ObjectPersonnel.Select(x => new { x.PersonnelId, x.Age })
如果我有一个名为ObjectPersonnel的对象,其中包含一个Personnel_List,如下所示:
Personnel_List = new ObservableCollection
{
new PersonnelModel{ID=Guid.NewGuid(),Name="Mr.Joe",Gender="Male",EMPID="abc 123",Capabilities="123",Position="Assistant",Title="Test",Status="General",ICNumber="IC 123",Roles="Test"},
new PersonnelModel{ID=Guid.NewGuid(),Name="Su Su",Gender="Female",EMPID="abc 1234",Capabilities="1234",Position="Security",Title="Test",Status="General",ICNumber="IC 1234",Roles="Test"}
};
如何仅获取ID和Gender?