Попробуйте нулевой оператор coalese
return playerRating ?? 0d;
Это никогда не вернет ноль.
Если вам действительно нужно вернуть тип значения, допускающий обнуляемость, попробуйте это
public decimal? GetPlayerRating(int id)
{ ... }
Добавление a?до конца тип значения, такой как double, переписывается в Nullable <тип> (Nullable здесь)
При работе с типом значения, допускающим значение NULL, обязательно проверьте, имеет ли оно значение (не нуль)
if ( myNullableType.HasValue )
{
x = myNullableType.Value;
}