C# 合并两个列表并匹配值
“Distributions”变量中有一个名为“Deadline”的键,其中包含一个日期 我想添加“realdimdate=I.Deadline,”。所有其他行都很好,但我就是找不到添加最后一行的方法 必须在AssignmentId上进行匹配,AssignmentId是整个联合收割机的关键。基本上,如果HandInData.Where(…)可以从“分发”中添加“截止日期”的值,就可以了C# 合并两个列表并匹配值,c#,C#,“Distributions”变量中有一个名为“Deadline”的键,其中包含一个日期 我想添加“realdimdate=I.Deadline,”。所有其他行都很好,但我就是找不到添加最后一行的方法 必须在AssignmentId上进行匹配,AssignmentId是整个联合收割机的关键。基本上,如果HandInData.Where(…)可以从“分发”中添加“截止日期”的值,就可以了 var HandInData = db.Handins.ToList(); var Distributions
var HandInData = db.Handins.ToList();
var Distributions = db.Distributes.ToList();
var AssignNames = HandInData.Where(a => Distributions.Any(x => x.AssignmentId == a.AssignmentId));
var StudentsHandedInDataFeed = AssignNames.Select(i => new {
*RealDeadline = i.Deadline, (this is not working..)*
Help = i.NeedHelp,
Done = i.Done,
AssName = i.Assignment.AssignmentName,
Student = i.Student.StudentName,
DeadlineInTimeformat = i.Assignment.AssignmentDeadline,
HandedInInTimeformat = i.HandedInDate,
Deadline = i.Assignment.AssignmentDeadline.ToString(),
HandedIn = i.HandedInDate.ToString()
});
public class Handin {
public int HandinId { get; set; }
public int StudentId { get; set; }
public int AssignmentId { get; set; }
public bool? Done { get; set; }
public bool? NeedHelp { get; set; }
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime? HandedInDate { get; set; }
public virtual Student Student { get; set; }
public virtual Assignment Assignment { get; set; }
}
你需要加入这两个列表。您可以使用LINQ语法这样做:
var StudentsHandedInDatFeed =
from h in HandInData
join d in Distributions on h.AssignmentId equals d.AssignmentId
select new {
RealDeadline = d.Deadline,
Help = h.NeedHelp,
// etc
};
联接将只包括
HandInData
中的值,其中发行版中有一个匹配的值,因此这将处理where(a=>发行版。还有任何(…
代码)。您需要联接两个列表。您可以使用如下LINQ语法:
var StudentsHandedInDatFeed =
from h in HandInData
join d in Distributions on h.AssignmentId equals d.AssignmentId
select new {
RealDeadline = d.Deadline,
Help = h.NeedHelp,
// etc
};
联接将只包括HandInData
中的值,其中分发版中有匹配的值,因此这将考虑其中(a=>分发版。还有任何(…
代码)。错误是什么?值不存在,没有错误。如果我访问“i”变量,则键“deadline”不存在。正如我在问题中所说的。Idk如何更清楚地表达“截止日期”或“真正的截止日期”?RealDeadline是我可以编出来的一个键。我可以选择任何一个,比如香蕉。Deadline是我无法访问的值。正如我在问题中所说的。哦,i.Deadline
!很明显,在任何类Handins上都没有这样的属性。
是什么错误?值不存在,没有错误。如果我访问“i”变量“最后期限”不存在。正如我在问题中所说的。Idk如何更清楚地表达“最后期限”或“真正的最后期限”"?RealDailate是我可以编造的一把钥匙。我可以选择任何一个,比如香蕉。Dailate是我无法访问的值。正如我在问题中所说的。哦,i.Dailate
!很明显,在任何类Handins
isOmg上都没有这样的属性。我完全不可能找到我自己。现在几乎是凌晨1点我已经看了三个多小时了谢谢老兄,天哪,就是这样。我完全不知道我自己是怎么想的。快凌晨1点了。我已经看了三个多小时了谢谢老兄。