我有一个可变长度的字符串数组.目前我有一个循环遍历数组以找到数组中最长的字符串.有没有什么方法可以使用LINQ以更高效和/或更清晰的方式编写它?
说我有两个清单:
List<CanidateSkill> canidateSkills;
List<JobDesiredSkill> desiredSkills;
class CanidateSkill
{
public Guid CanidateId { get; set; }
public Guid SkillId { get; set; }
}
class JobDesiredSkill
{
public Guid JobId { get; set; }
public Guid SkillId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
你如何确定是否:
JobDesiredSkills中至少有一项包含在CandidateSkills中(在SkillId上匹配)
JobDesiredSkills中的所有项目都包含在CandidateSkills中
我尝试了这个,但是得到了这个错误:无法创建类型的常量值在此上下文中仅支持基本类型(例如Int32,String和Guid').
return from candidate in _db.Candidates
where (candidate.CandidateSkills.Any(c => job.JobDesiredSkills.Any(j => j.SkillId == c.SkillId)))
select candidate;
Run Code Online (Sandbox Code Playgroud)
我也试过,但包含需要一个JobDesiredSkill对象,但c是CandidateSkillObject.
return from candidate in _db.Candidates
where CandidateSkills.Any(c => JobDesiredSkills.Contains(c))
select candidate;
Run Code Online (Sandbox Code Playgroud)
谢谢