Search code examples
c#linq

Select IDs where boolean property is true using linq


I want to select IDs from list where boolean IsActive= true using linq . My Model class MyModel. I want to select IDs from list where IsActive is true.

        List<MyModel> ModelEntities = new List<MyModel>();
        MyModel Model = new MyModel();

        Model.IsActive=true;
        Model.ID = 1;
        ModelEntities.Add(Model);

        Model = new MyModel();
        Model.IsActive=true;
        Model.ID = 2;
        ModelEntities.Add(Model);

        
        Model = new MyModel();
        Model.IsActive=true;
        Model.ID = 3;         
        ModelEntities.Add(Model);

    
        Model = new MyModel();
        Model.IsActive=False;
        Model.ID = 4;         
        ModelEntities.Add(Model);

        
        Model = new MyModel();
        Model.IsActive=true;
        Model.ID = 5;         
        ModelEntities.Add(Model);

        
        Model = new MyModel();
        Model.IsActive=False;
        Model.ID = 6;         
        ModelEntities.Add(Model);

        
        Model = new MyModel();
        Model.IsActive=False;
        Model.ID = 7;         
        ModelEntities.Add(Model);

        
        Model = new MyModel();
        Model.IsActive=False;
        Model.ID = 8;         
        ModelEntities.Add(Model);

I want result like {1,2,3,5 }. How can get those IDs using Where condition in linq.

Edited I just want list of IDs where IsActive = true .


Solution

  • var ids = ModelEntities
                .Where(model => model.IsActive)
                .Select(model => model.ID)
                .ToList();