我有一个函数,它接受roleID(作为 int)
,并将其与多维数组进行比较,以查看该数组是否包含该roleID
。如果是,它会将 bool 设置为 true 并中断。如果不存在,则循环永远不会退出。我希望这是我忽略的愚蠢的事情,但现在我已经让几个不同的人检查过它。
我现在正在测试的userRoles 数组
的大小是3
。我可以打印 userRoles.GetLength(0)
并显示 3,这与数据库中的内容匹配。
这是代码:
public bool IsInRole(int roleID)
{
bool inRole = false;
int i = userRoles.GetLength(0);
for (int j = 0; j < i; j++)
{
if (Convert.ToInt32(userRoles[j, 0]) == roleID)
{
inRole = true;
break;
}
}
return inRole;
}
TIA,
克里斯
最佳答案
您确定您没有误诊该症状,并且它确实陷入了循环吗?您在那里的代码看起来没有错误,我的第一个想法是您调用 IsInRole() 的地方没有正确处理“假”返回。
关于c# - 无限循环?不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2151650/