Dividir - O índice estava fora dos limites da matriz

Estou usando o seguinte código para dividir uma string e armazená-lo:

string[] proxyAdrs = linesProxy[i].Split(':');
string proxyServer = proxyAdrs[0];
int proxyPort = Convert.ToInt32(proxyAdrs[1]);


if(proxyAdrs[2] != null)
{
    item.Username = proxyAdrs[2];
}

if (proxyAdrs[3] != null)
{
    item.Password = proxyAdrs[3];
}

O problema é que eu estou ficando

O índice estava fora dos limites da matriz.

QuandoproxyAdrs[2] não está lá.

Às vezes o proxyAdrs [2] estará lá às vezes não.

Como posso resolver isso?

questionAnswers(7)

yourAnswerToTheQuestion