我有一个对象集合,其中有一个JobCode,它是一个字符串值.我们有一个业务规则,在集合中我们应该永远不会有超过4个JobCode相同的元素.我正在努力解决这个问题,因为通常我会比较列表外部的一些已知值,而不是将列表与自身进行比较.
任何帮助非常感谢.
spe*_*der 21
您可以通过以下方式识别不良工作:
Jobs.GroupBy(j => j.JobCode).Where(g => g.Count() > 4)
Run Code Online (Sandbox Code Playgroud)
目前尚不清楚你想采取什么补救措施......
您将使用GroupBy集合而不是Count结果组:
var jobCodesWithMoreThanFourOccurences = collection.GroupBy(x => x.JobCode)
.Where(x => x.Count() > 4)
.Select(x => x.Key);
Run Code Online (Sandbox Code Playgroud)
在Key我们的最终选择是我们用作一个键的属性GroupBy,即它将包含JobCode.
您可以按字符串属性进行分组,然后检查是否有任何包含4个以上元素的组:
bool test = jobs.GroupBy(z => z.MyString).Any(z => z.Count() > 4);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7217 次 |
| 最近记录: |