使用未分配的局部变量`total`

Nic*_*_BE 2 c# local-variables unassigned-variable

我希望有一个所有间隔的总和,但我写这个代码我有一个错误说明:使用未分配的局部变量total

enter TimeSpan total;
foreach (var grp in query)
{
  TimeSpan interval = TimeSpan.FromMinutes(grp.Minuut); 
  TimeSpan intervalH = TimeSpan.FromHours(grp.Sum);

  interval = interval + intervalH;
  total += interval;
  string timeInterval = interval.ToString();   
  dataGridView2.Rows.Add(i++, grp.Id, grp.Sum, grp.Minuut,timeInterval);
}
Run Code Online (Sandbox Code Playgroud)

Cod*_*aos 6

从...开始:

TimeSpan total = TimeSpan.Zero;
Run Code Online (Sandbox Code Playgroud)

增加一个没有值的变量是没有意义的.因此,编译错误是很自然的.

字段初始化为0时,必须在首次读取之前将局部变量分配给它们.在你的程序中total += interval;读取total以增加它.因此,在循环的第一次迭代中,不会为其分配值.