我正在使用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)
知道我在这里缺少什么吗?
它看起来像你要添加的东西之一可能是一个 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