如何使用LINQ从MyModel列表中筛选IsActive为true的ID集合
LINQ筛选IsActive为true的MyModel对象ID集合
首先确保你的MyModel类定义包含所需属性:
public class MyModel { public int ID { get; set; } public bool IsActive { get; set; } }
方法1:LINQ方法链语法
直接通过Where过滤活跃对象,再用Select提取ID,最后转换为目标集合类型:
// 假设ModelEntities是你的List<MyModel>实例 var activeIds = ModelEntities .Where(model => model.IsActive) .Select(model => model.ID) .ToList(); // 若需要无序不重复集合,改用ToHashSet()
方法2:LINQ查询表达式语法
如果你更习惯SQL风格的写法,也可以用查询表达式:
var activeIds = (from model in ModelEntities where model.IsActive select model.ID).ToList();
两种写法最终都会得到包含所有活跃对象ID的集合,比如你期望的{1,2,3,5}。如果你的ID存在重复情况,使用ToHashSet()会自动去重,得到唯一的ID集合;若ID唯一,ToList()就足够。
内容的提问来源于stack exchange,提问作者Calm Boy
相关产品推荐
相关产品推荐

