【发布时间】:2017-01-31 19:32:15
【问题描述】:
我正在尝试查找是否有一些快速方法来过滤在公共字段上具有多个列表元素的对象。例如,如果我在重要类中有重要身高和体重列表,我想过滤重要对象以返回由EntryDate 过滤的列表中的数据。
public class VitalHeight
{
public int Id { get; set; }
public string Value { get; set; }
public string EnterDate { get; set; }
}
public class VitalWeight
{
public int Id { get; set; }
public string Value { get; set; }
public string EnterDate { get; set; }
}
public class Vital
{
public double PaientId { get; set; }
public List<VitalWeight> Weights { get; set; }
public List<VitalHeight> Heights { get; set; }
}
Vital vitals = controller.GetAllVitals(1234); // Get vitals by patient id
有没有一种简单的方法可以通过EntryDate 过滤我从GetAllVitals() 获得的生命体征?
我在vitals 对象中有类似的数据:
PatientId: 1234
Weights: {[Id: 1, Value: 290, EntryDate: 1/31/2017 12:34:00 PM],
[Id: 2, Value: 291, EntryDate: 1/31/2017 2:14:00 PM]}
Heights: {[Id: 1, Value: 5.7, EntryDate: 1/31/2017 12:34:00 PM]}
所以,EntryDate="1/31/2017 12:34:00 PM" 的输出应该是:
PatientId: 1234
Weights: {[Id: 1, Value: 290, EntryDate: 1/31/2017 12:34:00 PM]}
Heights: {[Id: 1, Value: 5.7, EntryDate: 1/31/2017 12:34:00 PM]}
生命体征中有更多具有相似结构的生命体征列表,我需要过滤EntryDate。
我试图用 linq 来做这件事,但不太明白。
【问题讨论】:
-
如果 VitalXxx 类具有相似的结构,为什么还要有多个类?您可以创建一个“通用”类并在不同的地方使用它。如果您不想这样做,我想抽象基类会很好。