首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ILookup如何使用Where方法?

ILookup如何使用Where方法?
EN

Stack Overflow用户
提问于 2012-07-06 00:32:22
回答 2查看 69关注 0票数 0

我的查找:

代码语言:javascript
复制
var myLookup = myList.ToLookUp(x=> new {x.Name, x.Job, x.Phone});

我想要做的是:

x.Name可以包含作业字符串,也可以包含作业列表字符串,即"Programmer""QA, Programmer"

下面的语句将遍历可用作业,并将它们与我的查找中的内容进行匹配:

代码语言:javascript
复制
foreach(var j in jobs)
{
     foreach(var m in myLookup[new {j.Name, j.Job, j.Phone}])
     {
          //do whatever
     }
}

现在,这对任何没有用逗号设置的作业名称都很有效,所以我尝试了以下命令:

代码语言:javascript
复制
foreach(var j in jobs)
{
     foreach(var m in myLookup[new {j.Name, j.Job, j.Phone}].Where(x=>x.Name.Contains(j.Name))
     {
          //do whatever
     }
}

但这似乎仍然行不通。它只是以另一种方式精确地匹配名称。

如何在查找中合并contains或Where?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-06 00:40:23

如果我理解正确的话,你想要像这样的东西

代码语言:javascript
复制
string jobsToMatch = "Programmer,QA";
var relevantNames = jobsToMatch.Split(',');
var myLookup = 
    myList.Where(x => relevantNames.Contains(x.Name))
      .ToLookup(k => k.Job, x => new { x.Name, x.Job, x.Phone });
票数 0
EN

Stack Overflow用户

发布于 2012-07-06 00:39:01

我不确定,但您可以在for each之前进行字符串操作:类似于:j.Job.replace(',','');

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

https://stackoverflow.com/questions/11348679

复制
相关文章

相似问题

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