我有一份患者名单。 每位患者都有几个清单:
public class Patient
{
private List<DateTime> serverTimeStamps;
protected List<int> sessionStages;
protected List<string> revIPage;
protected List<double> current;
protected List<int> n_ok;
protected List<int> n_LE;
}
患者列表被称为ptLsit
,我试图获取serverTimeStamp
大于_initTimeToAskData
的列表项(来自所有列表,而不仅仅是serverTimeStamps) )。
我能给出的最好的例子是
ptLsit.Where(x=> x.ServerTimeStamps.Select(ts => ts >= _initTimeToAskData))
答案 0 :(得分:0)
基于这个课程:
public class Patient
{
public List<DateTime> serverTimeStamps;
public List<int> sessionStages;
public List<string> revIPage;
public List<double> current;
public List<int> n_ok;
public List<int> n_LE;
}
试试这个:
var result = ptLsit.Where(p => p.serverTimeStamps.Any(d => d > _initTimeToAskData))
.Select(p => new Patient{
serverTimeStamps = p.Where(x => x > DateTime.Now).ToList(),
// Fill the other properties...
// ...
});
您将获得至少包含DateTime大于参数_initTimeToAskData
的Patient列表,并且结果对象将包含serverTimeStamps
属性中的正确日期