不能隐式转换类型'double?' '加倍'

jaw*_*san 1 asp.net-mvc-2

我正在使用asp.net MVC2,我在下面的代码行中遇到错误

<% double RunningTotal = 0; %>
<%foreach (var item in Model)
       {%>
      <%var allowedHours = item.tblPerson.tblPersonAllowedHours.Where(x=>x.Semester == item.Semester).Sum(x=>x.AllowedHoursPerWeek);  %>         
            <tr>
                <td><%: item.Semester %></td>
                <td><%: allowedHours.ToString() %></td>
                <td><%: item.tblPerson.tblCourseWantedHours.Where(x => x.Semester == item.Semester).Sum(x => x.WantedHoursPerWeek+x.UL+x.UT) %></td>
                <td><%: item.tblPerson.tblCourseWantedHours.Where(x => x.Semester == item.Semester).Sum(x => x.WantedHoursPerWeek+x.UL+x.UT) - allowedHours %></td>
                <%: RunningTotal += (item.tblPerson.tblCourseWantedHours.Where(x => x.Semester == item.Semester).Sum(x => x.WantedHoursPerWeek + x.UL + x.UT) - allowedHours) %>

                <td></td>
Run Code Online (Sandbox Code Playgroud)

我得到的错误是在这一行

<%: RunningTotal += (item.tblPerson.tblCourseWantedHours.Where(x => x.Semester == item.Semester).Sum(x => x.WantedHoursPerWeek + x.UL + x.UT) - allowedHours) %>
Run Code Online (Sandbox Code Playgroud)

错误描述是

CS0266: Cannot implicitly convert type 'double?' to 'double'. An explicit conversion exists (are you missing a cast?)
Run Code Online (Sandbox Code Playgroud)

知道我在这里缺少什么吗?

Han*_*s Z 5

它看起来像你要添加的东西之一可能是一个 Nullable<Double>

从去double?double你需要做的

double? nullableDouble = 3.0;
if (nullableDouble.HasValue)
    double notNullableDouble = nullableDouble.Value;
Run Code Online (Sandbox Code Playgroud)

关于Nullables的更多信息:http://msdn.microsoft.com/en-us/library/b3h38hb0.aspx