2012-07-05 5 views
0

내 조회 :내가 어떻게 Where 메서드를 사용할 수 있습니까?

var myLookup = myList.ToLookUp(x=> new {x.Name, x.Job, x.Phone}); 

것은 내가 할 노력하고있어 무엇 :

x.Name이 작업의 문자열, 또는 작업 목록의 문자열, "Programmer" 또는 "QA, Programmer" 즉를 포함 할 수 있습니다.

가능한 작업을 통해 아래 문 의지 루프, 내 조회에서 무엇으로 그들을 일치 : 이제

foreach(var j in jobs) 
{ 
    foreach(var m in myLookup[new {j.Name, j.Job, j.Phone}]) 
    { 
      //do whatever 
    } 
} 

,이 때문에, 쉼표로 설정되지 않은 작업 이름에 대한 잘 작동 그 때 나는 이것을 시도했다 :

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 
    } 
} 

그러나 여전히 doesnt는 작동하는 것처럼 보인다. 정확히 다른 이름과 정확히 일치합니다.

포함 또는 위치를 내 조회에 어떻게 병합 할 수 있습니까?

답변

0

, 당신은

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

나는 확실하지 오전하지만 당신은 각각의 전에 문자열 조작을 수행 할 수 있습니다 무엇인가 : 만약 내가 제대로 이해하고 j.Job.replace(',','');

관련 문제