0

私は2つの異なるリストを持っています。1つはのようにIDの束ですが、もう1つはList<int> idsListオブジェクトのリストですList<MyObject> myObjectList。オブジェクトは次のようになります。

class MyObject{
    private List<int> ids;

     public MyObject(List<int> ids){
      this.ids = ids;
     }

     public List<int> Ids{
       get{
          return ids;
       }
     }
}

ご覧のとおり、各オブジェクトには1つまたは複数のIDを含めることができます(ゼロまたはnull IDを含めることはできません)。したがって、最後に必要なのは、myObjectList内のどのオブジェクトが私のidsListからのidを持っているかを知ることです。これまでのところ:

var ids = from g in onScreen where g.Ids.Contains(myIntVariable) select g;

myIntVariableを含むオブジェクトのリストが表示されます。方法がわからないのは、idsListのコンテンツをMyObjectのリストと一致させることです。ありがとう!

4

2 に答える 2

1

行く1つの方法:

var listOfMyObjectsContainingAnIdFromIdsList = myObjectList.Where(myObject => myObject.Ids.Any(id => idsList.Contains(id)));
于 2012-08-02T20:13:47.863 に答える
0

gがオブジェクトリストでidsListあり、intリストであると仮定します。

foreach (var myObject in g.Where( obj => obj.Ids.Any( itemId => idsList.Contains(itemId) ) )) {
     //Use your myObject here
}

それがうまくいくことを願っています、

于 2012-08-02T20:16:23.223 に答える