我的主要問題在於瞭解IGrouping<int, SubForm>
。我想要最頻繁的對象(MyClass
)。這是我現在的代碼:Linq,IQueryable獲得最頻繁的元素對象
var subForm =
classes.GroupBy(c => c.SubFormId)
.OrderByDescending(sf => sf.Count())
.FirstOrDefault();
這將返回IGrouping<int, SubForm>
。爲了得到實際的對象,我必須做另一個FirstOrDefault()
,但編譯器顯示可能有一個空異常。 這是獲取實際子窗體的代碼,它可以做得更好嗎?
var subForm =
classes.GroupBy(c => c.SubFormId)
.OrderByDescending(sf => sf.Count())
.FirstOrDefault().FirstOrDefault().SubForm;
哪裏MyClass的進來嗎?這不是很清楚你想要實現什麼...... – 2012-01-30 14:16:01
@JonSkeet,對不起,它與SubForm類相同。 – 2012-01-30 14:16:46
那麼你想獲得它的* ID *,還是實際的實體? – 2012-01-30 14:18:48