دوستان چرا من تو این کد وقتی آرایه temp رو بعد از آرایه innerList (خط 3) مینویسم ارور میده ، ولی وقتی تو try مینویسم ،ارور نمیده؟!!!

کدی که ارور میده:
namespace chapter3
{
class persons
{
private person[] InnerList = new person[0];

person[] temp = new person[InnerList.Length+1];//inner list inja erorr mide
public bool Add(person value)
{
try
{

int count = 0;
foreach (person p in InnerList)
{

}




return true;
}
catch
{
return false;
}
}

}
}


با تشکر.