Reputation: 33
I'm currently using a linq statement to move items from one list to another based of a condition, but i need to add a second condition and i think i'm having a syntax issue
What I'm currently doing:
var selected = Generatorlist.CallDataGeneratorsDone
.Where(item => item.SkillNumber == SkillNumber)
.ToList();
Generatorlist.CallDataGeneratorsDone = Generatorlist.CallDataGeneratorsDone
.Except(selected)
.ToList();
Generatorlist.CallDataGeneratorsNotDone.AddRange(selected);
What I'm trying to do:
var selected = Generatorlist.CallDataGeneratorsDone
.Where((item => item.SkillNumber) & (item => item.CallServer))
.ToList();
Generatorlist.CallDataGeneratorsDone = Generatorlist.CallDataGeneratorsDone
.Except(selected)
.ToList();
Generatorlist.CallDataGeneratorsNotDone.AddRange(selected);
I'm having an issue because you can't us & in a Lambda expression. I'm looking for some assistance in figuring out a way to accomplish this.
Upvotes: 1
Views: 67
Reputation: 6010
The solution in your case would be:
Generatorlist.CallDataGeneratorsNotDone
.AddRange(Generatorlist.CallDataGeneratorsDone
.Except(Generatorlist.CallDataGeneratorsDone
.Where(item => item.SkillNumber && item.CallServer))
.ToList())
Upvotes: 0
Reputation: 37020
You just need to remove the second declaration of item =>
(it only needs to be defined once):
var selected = Generatorlist.CallDataGeneratorsDone
.Where(item => item.SkillNumber && item.CallServer)
.ToList();
Upvotes: 1
Reputation:
If I don't miss something, it should be &&
instead of &
in the same expression like this:
var selected = Generatorlist.CallDataGeneratorsDone
.Where(item => item.SkillNumber && item.CallServer)
.ToList();
This is assuming that both SkillNumber
and item.CallServer
are of Boolean. Otherwise you will need to write acomplete predicate like item.SkillNumber = 'blah blah'
.
Upvotes: 0
Reputation: 2257
You can chain Where calls together like so...
var selected = Generatorlist.CallDataGeneratorsDone
.Where(item => item.SkillNumber)
.Where(item => item.CallServer)
.ToList();
Upvotes: 0