【问题标题】:How to select multiple Variables using Lambda expression c# [duplicate]如何使用Lambda表达式c#选择多个变量[重复]
【发布时间】:2014-08-08 01:00:50
【问题描述】:

我有一个“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 表达式来自该对象的 Age 和 PersonnelName?

2) 另外,如果我的 PersonnelVehicle 结构如下所示,

public class PersonnelVehicle
{
public ObservableCollection<PersonnelModel> Personnel_List = new    ObservableCollection<PersonnelModel>
        {
             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

【问题讨论】:

    标签: c# lambda


    【解决方案1】:

    使用anonymous type

    ObjectPersonnel.Select(x=> new { x.PersonnelId , x.Age }),
    

    【讨论】:

    • 如果我在“ObjectPersonnel”中有对象 Personnel_List,如下所示,Personnel_List = new ObservableCollection { new PersonnelModel{ID=Guid.NewGuid(),Name="Mr.Joe",Gender="男",EMPID="abc 123",Capabilities="123",Position="Assistant",Title="Test",Status="General",ICNumber="IC 123",Roles="Test"},new PersonnelModel {ID=Guid.NewGuid(),Name="苏苏",Gender="Female",EMPID="abc 1234",Capabilities="1234",Position="Security",Title="Test",Status="通用",ICNumber="IC 1234",Roles="测试"},};如何只获取 ID 和 Gender?
    【解决方案2】:

    你需要给里面的变量命名吗?

    ObjectPersonnel.Select(x=> new { PersonnelId = x.PersonnelId , Age = x.Age })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多