我正在将案例与控件匹配,基本上是在案例列表中的记录需要在字符串中指定的匹配数。
到目前为止,我有两个列表,其中的where子句是正确的,但是我不确定如何使用来获取与一个案例匹配的3个控件。我决定使用<.Take()>函数,但它似乎并没有起作用。当我在变量查询上循环时,我没有得到具有3个不同控件的相同案例。
以下是代码:
List<CaseSelection> CurrentCaseList = new List<CaseSelection>();
foreach (CaseSelection CurrentCase in m_casesarraylist)
CurrentCaseList.Add(CurrentCase);
List<ControlSelection> CurrentControlList = new List<ControlSelection>();
foreach (ControlSelection CurrentControlRec in ControlList)
CurrentControlList.Add(CurrentControlRec);
var query = CurrentCaseList.SelectMany(
c => CurrentControlList.Where(o => o.pracid == c.pracid && o.sex == c.sex &&
CaseSelectionList.AgeIsInRange(c.yob, o.yob, m_years)),
(c, o) =>
new { o, c }).Take(m_ctrlno);
GroupBy
而不是SelectMany
。你能提供一些输入和输出的样例吗? - MarcinJuraszek