I have a function that takes in a roleID(as an int), and compares it to a multidimensional array to see if that array contains that roleID. if it does, it sets a bool to true and breaks. if it doesn’t, the loop never exits. I’m hoping this is something stupid that I’m overlooking, but I’ve had a few different people look it over now.
The size of the userRoles array that I am testing with right now is 3. I can print userRoles.GetLength(0) and it says 3, and that matches whats in the database.
here’s the code:
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,
Chris
Are you sure that you’re not misdiagnosing the symptom, and that it really is getting stuck in the loop? The code you have there doesn’t look like wrong, my first thought would be that the place that you’re calling IsInRole() isn’t handling a ‘false’ return correctly.