为什么变量未赋值

本文关键字:赋值 变量 为什么 | 更新日期: 2023-09-27 18:16:05

第二个if语句中的d超出了范围(错误是"使用未分配的局部变量'd ")为什么?我该如何解决这个问题?

 @{string d;}
   @foreach (var l in c.TimeAvailables) { 
   <div class="day @l.Day @c.id " data-day="@l.Day" data-bgtime="@l.BegginingTime" data-endtime="@l.EndTime">
   <div class="dayDisplayed">
   @if (l.BegginingTime != null)
       {
                      {d = l.Day; }
  <b class="time @l.id">From:</b> <span class="beTime" data-id="@l.id">@string.Format("{0:hh:mm tt}", new DateTime().Add(l.BegginingTime.HasValue ? l.BegginingTime.Value : new TimeSpan(0, 0, 0)))</span>
    <br />
   <b class="time @l.id">Until:</b><span class="enTime" data-id="@l.id">@string.Format("{0:hh:mm tt}", new DateTime().Add(l.EndTime.HasValue                ? l.EndTime.Value : new TimeSpan(0, 0, 0)))</span>
       }
@if (l.BegginingTime == null && d != l.Day)
  {
<b class="time @l.id"></b> <span class="beTime" data-          
 id="@l.id">Unavailable</span>
 <br />
 <b class="time @l.id"></b><span class="enTime" data-id="@l.id"></span>
    }
   </div>

}

为什么变量未赋值

我想你的问题是d未分配:

 @{string d = string.Empty;} 

或者像@Lucas建议的那样,你可以分配给null。