Моя главная проблема заключается в понимании IGrouping<int, SubForm>
. Я хочу самый частый объект (MyClass
). Это код, который я сейчас имею:
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;