I am facing problem in handling average of empty list.
var groupJoin = studentList.GroupJoin(resultList, //inner sequence
studentKeySelector => studentKeySelector.id, //outerKeySelector
resultKeySelector => resultKeySelector.id, //innerKeySelector
(std, resultsGroup) => new // resultSelector
{
Results = resultsGroup,
StudentName = std.name,
StudentId = std.id
}).Select(x => new Output {
name = x.StudentName,
id = x.StudentId,
averageGradePoint = x.Results.Average(y => y.gradePoint)
}).ToList();
Here while calculating averageGradePoint, I want to handle the case that I have my list empty. I know there is a method DefaultIfEmpty(0). But averageGradePoint = x.Results.DefaultIfEmpty(0).Average(y => y.gradePoint)
gives me System.InvalidOperationException. How to do this?