0

私のルックアップ:

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

しかし、それでもうまくいかないようです。他の方法とまったく同じように名前と一致します。

ルックアップにcontainsまたはWhereを組み込むにはどうすればよいですか?

4

2 に答える 2

0

よくわかりませんが、foreachの前に文字列操作を行うことができます。j.Job.replace(',','');

于 2012-07-05T16:39:01.087 に答える
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 });
于 2012-07-05T16:40:22.667 に答える