首页 / C# / c# – 在LINQ中使用IN运算符
c# – 在LINQ中使用IN运算符
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 在LINQ中使用IN运算符,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1178字,纯文字阅读大概需要2分钟。
内容图文
![c# – 在LINQ中使用IN运算符](/upload/InfoBanner/zyjiaocheng/756/635d21f90a9f4d0fb132800be7a0fb30.jpg)
我有List< Candidate>候选人,名单< Seat>座位
模型定义如下
public class Seat
{
public string CollegeId { get; set; }
public bool isFilled { get; set; }
public string SeatType { get; set; }
public string RollNumber { get; set; }
}
public class Candidate
{
public string RollNumber { get; set; }
public bool isAllotted { get; set; }
public string Quota { get; set; }
public int CandidateRank { get; set; }
public List<OptionPriority> SeatingPriorities { get; set; }
}
public class OptionPriority
{
public string CollegeId { get; set; }
public int PriorityRank { get; set; }
}
我需要过滤List< Seat>来自List< Seat> Seats.CollegeId位于SeatingPriorities中的CollegeID列表中的座位.
解决方法:
// same as EXISTS
Seats.Where(s => SeatingPriorities.Any(sp => sp.CollegeId == s.CollegeId))
您也可以参加座位优先考虑的座位:
// same as INNER JOIN
var prioritySeats = from s in Seats
join sp in SeatingPriorities
on s.CollegeId equals sp.CollegeId
select s;
注意:如果您将在LINQ to SQL或LINQ to Entities中执行它们,则上述两个查询都不会生成IN子句.使用包含原始类型的方法列表时生成IN:
var ids = SeatingPriorities.Select(sp => sp.CollegeId).ToList();
// same as IN
var prioritySeats = Seats.Where(s => ids.Contains(s.CollegeId));
内容总结
以上是互联网集市为您收集整理的c# – 在LINQ中使用IN运算符全部内容,希望文章能够帮你解决c# – 在LINQ中使用IN运算符所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。