Reputation: 13
tempChoiceConfigItems
is a list and has two properties, IsIncluded
and IsSelected
.
In the case when both of them are true then IsIncluded
will take preference and for that item IsSelected
will be true and all other IsSelected
will be false.
Can I write that in one singe lambda expression?
if (tempChoiceConfigItems.Any(cg => cg.IsIncluded == true)) {
tempChoiceConfigItems.Where(wtci => wtci.IsIncluded == true)
.Select(stc => {
stc.IsSelected = true;
return stc;
})
.ToList();
tempChoiceConfigItems.Where(wtci => wtci.IsIncluded == false)
.Select(stc => {
stc.IsSelected = false;
return stc;
})
.ToList();
}
Upvotes: 0
Views: 60
Reputation: 13
I did this
if (tempChoiceConfigItems.Any(cg => cg.IsIncluded == true))
{
tempChoiceConfigItems
.Select(stc =>
{
stc.IsSelected = stc.IsIncluded;
return stc;
})
.ToList();
}
Upvotes: 0
Reputation: 5201
Substitute all that piece of code with:
tempChoiceConfigItems.ForEach(x => { x.IsSelected = x.IsIncluded; });
Upvotes: 1
Reputation: 20191
tempChoiceConfigItems.ForEach(x=> {if(x.IsIncluded == true && x.IsSelected==true) x.IsSelected=true; else x.IsSelected=false;});
Upvotes: 0