选择对象集合的列/字段并导出为List <>

时间:2019-04-25 20:51:28

标签: c# linq

我正在使用自定义对象存储患者数据

class PatientData
{
  public string FirstName {get; set;}
  public string LastName {get; set;}
  public string BloodType {get; set;}
}

我有一个List<PatientData>,我想从集合中提取一个字段作为List<string>

样本数据:

[{"Brad","Smith","O-pos"},
 {"Stacy","Jenkins","A-neg"},
 {"Fred","Jones","A-pos"},
 {"Kim","Warren","AB-neg"}]

我想以诸如...的列表结尾

["O-pos","A-neg","A-pos","AB-neg"]

如何在对象中提取单个字段来完成此操作?

2 个答案:

答案 0 :(得分:4)

var result = (from i in list where i != null select i.BloodType).ToList();

这是另一种方式。

如果您不介意为null的项目添加null:

var result = (from i in list select i?.BloodType).ToList();

list是List<PatientData>

的实例

答案 1 :(得分:3)

var extracted = originalData.Where(item => item != null).Select(item => item.BloodType).ToList();

此代码段假定原始集合可能包含null个元素。否则,可以省略Where子句。