CheckSameExit(temp_TID, i_TID)为何卡住了,找了那么久就是找不出原因
private bool CheckSameExit(string[] temp, int length)//检查数组中是否存在相同元素 存在返回true反之返回false{
for (int i = 0; i < length - 1; i++)
{
for (int j = i + 1; j < length; j++)
{
if (temp[i] == temp[j])
{
return true;
}
}
}
return false;
}
private bool IsChongTu(Arng[,] GeTi, int e, int r, int edu)//冲突检测函数 冲突返回true
{
if (IsNumLeixing(EduTask[edu].ETID, Room[r]) == 0)
{
return true;
}
else
{
i_TID = 0;
i_CID = 0;
string[] temp_TID = new string[Count_Room * 4];
string[] temp_CID = new string[Count_Room * 4];//*4
for (int i = 0; i < Count_Room; i++)//Count_Room
{
if (GeTi[e, i].ETID != -1)
{
get_TID(GeTi[e, i], temp_TID, i_TID);
get_CID(GeTi[e, i], temp_CID, i_CID);
}
}
if (i_TID == 0)
{
return false;
}
else
{
get_TID(EduTask[edu], temp_TID, i_TID);
get_CID(EduTask[edu], temp_CID, i_CID);
if (CheckSameExit(temp_TID, i_TID) || CheckSameExit(temp_CID, i_CID)) {
return true;
}
else
{
return false;
}
}
}
}