c# - Linq 包含/排除逻辑
问题描述
我有一个包含名称和 TypeId 的包含列表,我想从中为具有某些 TypeId 的给定项目创建一个排除列表。但要注意的是,如果名称根本没有出现在列表中,那么它不会从任何类型中排除。
我如何用 linq 做到这一点?
List<NameTypeFilter> includeList = new List<NameTypeFilter>();
includeList.Add(new NameTypeFilter
{
Name = "N1",
Type = "T1"
});
MyItem myItem1 = new MyItem();
myItem1.Type = "T1";
MyItem myItem2 = new MyItem();
myItem1.Type = "T2";
MyItem myItem3 = new MyItem();
myItem1.Type = "T3";
// excludelist for myItem1 should contain nothing
// excludelist for myItem2 should contain N1
// excludelist for myItem3 should contain N1
includeList.Add(new NameTypeFilter
{
Name = "N2",
Type = "T2"
});
// excludelist for myItem1 should contain N2
// excludelist for myItem2 should contain N1
// excludelist for myItem3 should contain N1,N2
解决方案
如果您共享代码示例,这将有助于更详细地理解您的查询但是根据我的假设,如果您使用 Linq 的 TakeWhile 或 SkipWhile 添加 Linq 条件,它可能会帮助您获得所需的结果
推荐阅读
- hyperledger-fabric - 在 Hyperledger Fabric 2.2 中设置 logspout 时出现错误
- konvajs - 在 konvajs 中将某个对象拖放到它们上后,是否可以旋转一个组?
- asp.net - VB6代码获取调用aspx路径信息
- python - Flask SQLAlchemy中的查询结果不一致
- javascript - 从转换后的 HTML 画布中获取图像数据
- python - 如何在条目小部件的 tkinter 显示中清除 Intvar() 的默认值为 0?
- java - 即使应用程序在后台,如何发出通知?
- python - 如何拉出嵌套文档
- adfs3.0 - ADFS 自定义声明返回过滤的组成员身份?
- python - 使用 smtp 发送电子邮件(需要帮助)