我有一個具有JobCode的對象集合,這是一個字符串值。我們有一個業務規則,說在集合中,我們不應該有超過4個元素的JobCode是相同的。我正在努力解決這個問題,因爲通常我會比較列表外部的一些已知值,而不是將列表與自身進行比較。Linq確定值是否出現超過x次
任何幫助非常感謝。
我有一個具有JobCode的對象集合,這是一個字符串值。我們有一個業務規則,說在集合中,我們不應該有超過4個元素的JobCode是相同的。我正在努力解決這個問題,因爲通常我會比較列表外部的一些已知值,而不是將列表與自身進行比較。Linq確定值是否出現超過x次
任何幫助非常感謝。
你可以認同你的壞工作:
Jobs.GroupBy(j => j.JobCode).Where(g => g.Count() > 4)
目前尚不清楚你想採取什麼補救措施?
你會在收集使用GroupBy
比Count
上,得到的組:
var jobCodesWithMoreThanFourOccurences = collection.GroupBy(x => x.JobCode)
.Where(x => x.Count() > 4)
.Select(x => x.Key);
我們在最後選擇的Key
是我們在GroupBy
用作鍵的屬性,即它將包含JobCode
。
您可以通過您的字符串屬性組,然後檢查是否有任何有超過4個元素的組:
bool test = jobs.GroupBy(z => z.MyString).Any(z => z.Count() > 4);
啊,這是我所缺少的部分,這似乎使一個子集合適用於critera。謝謝(還剩4分鐘可以接受) – deanvmc