数组作为LINQ查询中的搜索参数

时间:2016-07-27 07:36:58

标签: c# arrays linq

目前我正在寻找以下

resourcesDB.Where(x => x.Resource_Type == 1 && (x.Resource_Ext.ToLower() ==".doc" || (x.Resource_Ext.ToLower() == ".docx"))).ToList();

但我想使用数组作为搜索参数搜索记录,我的数组是

var docExts = new[] { ".pdf",".doc", ".docx", ".xls", ".xlsx" };

我想要

resourcesDB.Where(x => x.Resource_Type == 1 && (x.Resource_Ext.ToLower() == [from docExts ])).ToList();

我有可能实现这个目标吗?

2 个答案:

答案 0 :(得分:2)

.Where(x => x.Resource_Type == 1 && docExts.Contains(x.Resource_ext.ToLower()))

答案 1 :(得分:2)

您应该做的是指定数组中包含x.Resource_Ext

var docExts = new[] { ".pdf",".doc", ".docx", ".xls", ".xlsx" };

var result = resourcesDB.Where(x => x.Resource_Type == 1 &&     
                                    docExts.Contains(x.Resource_Ext.ToLower());