using System.Collections.Generic;
public static float AskerAverageRating (Source src)
return (src.ReviewsReceived != null)?
((float)src.ReviewsReceived.Sum(r => r.Rating) / (float)src.ReviewsReceived.Count())
public static void Main()
Source src = new Source(){
var result = AskerAverageRating(src);
Console.WriteLine("Average rating of null ReviewsReceived : " + result);
src.ReviewsReceived = new List<Review>(){};
result = AskerAverageRating(src);
Console.WriteLine("Average rating of empty ReviewsReceived : " + result);
src.ReviewsReceived.Add (new Review (){Rating = 7});
result = AskerAverageRating(src);
Console.WriteLine("Average rating of ReviewsReceived with one Rating of seven : " + result);
src.ReviewsReceived.Add (new Review (){Rating = 9});
result = AskerAverageRating(src);
Console.WriteLine("Average rating of ReviewsReceived with two Ratings, seven and nine : " + result);
public ICollection<Review> ReviewsReceived { get; set; }
public int Rating { get; set; }