【问题标题】:How can search a string array contains metod without loop如何在没有循环的情况下搜索包含metod的字符串数组
【发布时间】:2017-05-18 05:58:21
【问题描述】:

我有一个视图模型数组。现在我想检查视图模型数组是否在数组中包含一个单词。

 public IQueryable<CategorisedPostViewModel> GetRelatedPostbyCategories(string categories)
 {
       var ctries = categories.Split(',');
       var result = GetAllCategoriedPost().**Where(p=>p.CategoryName.Contains(ctries)).**OrderByDescending(c => c.Published);
       return result;
  }

如何在没有循环的情况下搜索粗体部分?

为简单起见,我们可以假设,

p.categoryName="jerry,tom,ema"

ctries={"Gates","jerry","Jobs","ema"}

我想检查是否在 p.categoryName 上找到任何 ctries。请帮我。提前致谢。

【问题讨论】:

    标签: asp.net-mvc lambda linq-to-entities


    【解决方案1】:

    要检查 ctries 中是否存在任何类别名称,请尝试 Intersect

    p.categoryName.Intersect(tries).Any()
    

    【讨论】:

    • 你需要先调用Split p.CategoryName.Split(',').Intersect(ctries).Any() 除了那个@orbit 为什么不将CategoryName 存储为List 或类似的。此外,您可以使用 params 关键字作为参数,而不是依赖正确格式的字符串。
    • 非常感谢@Fahadsk。有没有什么网站可以丰富这些知识?
    • 嘿,谢谢@orbit,很高兴这有效。有很多这样的网站,仅举几例,c-sharpcornercodeproject.commsdndot net tricksdot net curryvideo sources,当然还有google
    猜你喜欢
    • 2018-03-21
    • 2022-01-03
    • 2019-07-02
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多