C# 使用from where构造检查要包含在集合中的成员
我有1个主集合,其成员是具有字段内容类型的对象。其中,内容类型的值是枚举C# 使用from where构造检查要包含在集合中的成员,c#,C#,我有1个主集合,其成员是具有字段内容类型的对象。其中,内容类型的值是枚举ContentTypeEnum。 有一个分组内容类型的列表(例如TEXT\u GROUP或pdf,TEXT…List 我想过滤任何给定内容组(文本组)的结果,如果对象的内容类型是文本组的列表中的内容类型 我对c#比较陌生,但我已经看到了“in”的存在,它的工作原理可能与sql中的类似?您应该使用Contains方法: form p in ... where TEXT_GROUOP.Contains(p.ContType)
ContentTypeEnum
。
有一个分组内容类型的列表(例如TEXT\u GROUP或pdf,TEXT…List
我想过滤任何给定内容组(文本组)的结果,如果对象的内容类型是文本组的列表中的内容类型
我对c#比较陌生,但我已经看到了“in”的存在,它的工作原理可能与sql中的类似?您应该使用
Contains
方法:
form p in ...
where TEXT_GROUOP.Contains(p.ContType)
项目
类别:
public class Item
{
public string Value { get; set; }
public ContentTypeEnum Type { get; set; }
}
ContentTypeEnum
enum:
public enum ContentTypeEnum
{
Text,
PDF,
XML,
MP3
}
您的小组:
var textGroup = new List<ContentTypeEnum>() {
ContentTypeEnum.Text,
ContentTypeEnum.PDF,
ContentTypeEnum.XML
};
该查询将只返回类型在textGroup
列表中的项目:
var textItems = items.Where(i => textGroup.Contains(i.Type)).ToList();
因此,每个结果项的简单Console.WriteLine(item.Value)
将打印:
custom PDF file
Paper
custom PDF file
Paper