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

时间:2012-06-06 19:19:08

标签: 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>

我得到的错误就在这一行

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

错误描述是

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

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

1 个答案:

答案 0 :(得分:5)

您尝试添加的内容之一可能是Nullable<Double>

double?转到double您需要做的事情

double? nullableDouble = 3.0;
if (nullableDouble.HasValue)
    double notNullableDouble = nullableDouble.Value;

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