首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LINQ中的LIKE和IN

LINQ中的LIKE和IN
EN

Stack Overflow用户
提问于 2012-11-21 10:55:07
回答 1查看 92关注 0票数 0

我想过滤不包含xxx,yyy,zzz等的结果。我尝试使用Array过滤掉我不想要的,但是它没有像往常一样过滤和返回行。

代码语言:javascript
运行
复制
string[] ExcludeCourses = new string[] {"Functional Skills", "Key Skills"};        
gvProgrammes.DataSource = offerings.Where(o => o.OfferingStatusID == 1
                          && o.OfferingTypeID != 3
                          && !ExcludeCourses.Contains(o.CourseName)); 

最后,我为每个条目编写了如下所示的内容。有更好的方法吗?

代码语言:javascript
运行
复制
offerings.Where(o => o.OfferingStatusID == 1
                 && o.OfferingTypeID != 3
                 && !o.CourseName.Contains("Functional Skills")
                 && !o.CourseName.Contains("Key Skills")
                 && !o.CourseName.Contains("Employer Rights and Responsibilities"));

以下是我要排除的CourseName示例:

  • 学徒制,CG证书,功能技能,工程,L2 (商业管理)
  • 学徒制CG证书功能技能Eng L2 (WBL-工程)
  • 学徒制关键技能2学徒制关键技能1
  • 就业权利和责任奖(QCF)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-21 11:25:46

您的第一个ContainsEnumerable.Contains:“此字符串序列包含此字符串”

您的第二个ContainsString.Contains:“此字符串包含另一个字符串作为子字符串”。

以下是“此字符串序列包含此字符串作为子字符串包含的字符串”:

代码语言:javascript
运行
复制
string[] ExcludeCourses = new string[] {
    "Functional Skills",
    "Key Skills",
    "Employer Rights and Responsibilities" };
gvProgrammes.DataSource = offerings.Where(o => o.OfferingStatusID == 1
    && o.OfferingTypeID != 3
    && !ExcludeCourses.Any(ec => o.CourseName.Contains(ec))); 

Any调用基本上与重复的手动String.Contains调用相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13491718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档