【发布时间】:2010-02-15 01:07:59
【问题描述】:
我有以下代码,关于如何解决这个问题的任何想法,而不是在函数外部声明一个 int 变量?我收到以下编译器错误:Use of unassigned local variable 'counter'
public static int GetNumberOfDevicesForManagementGroup(Guid managementGroupId, bool firstTime)
{
int counter;
using (var ctx = new DeviceManagerEntities())
{
if (firstTime)
{
firstTime = false;
counter = 0;
GetNumberOfDevicesForManagementGroup(managementGroupId, firstTime);
}
else
{
var groups = ctx.ManagementGroups
.Where(x => x.ParentId == managementGroupId)
.ToList();
if (groups.Count != 0)
{
foreach (ManagementGroups group in groups)
{
var devices = ctx.Devices
.Where(x => x.ManagementGroups.ManagementGroupId == group.ManagementGroupId)
.ToList();
foreach (Devices device in devices)
{
counter++;
}
GetNumberOfDevicesForManagementGroup(group.ManagementGroupId, firstTime);
}
}
else
{
var devices = ctx.Devices
.Where(x => x.ManagementGroups.ManagementGroupId == managementGroupId)
.ToList();
foreach (Devices device in devices)
{
counter++;
}
}
}
}
return counter;
}
【问题讨论】:
-
为什么不能在函数外声明?
-
我可以,只是想知道是否还有其他方法?