2012-06-06 8 views
1

я использую asp.net MVC2 и я получаю сообщение об ошибке на follwoing линии в кодеНевозможно неявно преобразовать тип 'double?' к «двойному»

<% 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) %> 

описания ошибки is

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

любая идея, что мне не хватает здесь?

ответ

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

+0

Отлично, он решен. Спасибо. –

Смежные вопросы