E invece no! (ce l'ho con me, non con te!)

questo e' il codice:


string s;//stringa generica
string nome;// nome del soggetto
double quantita = 0; //quantita' da dividere
double NumeroPax = 0;//numero totale dei partecipanti
double dote = 0; // dote portata da ciascun soggetto
double totaleDoti = 0; // somma delle doti
double coefficiente = 0; //coefficiente di riparto
double spettante = 0; // importo spettante a ciascun soggetto
double ValoreDiControllo = 0;
//double Dotielencate = 0; //variabile richiesta da VS
double[] ArrayDoti; //elencodoti trasformato in array
string[] ArrayNomi;//elenconomi trasformato in array


Console.WriteLine("Inserisci la quantita' da dividere");
s = Console.ReadLine();
quantita = Convert.ToDouble(s);
Console.WriteLine("Inserisci il numero dei partecipanti");
s = Console.ReadLine();
ValoreDiControllo = Convert.ToDouble(s);
List<string> ElencoNomi = new List<string>();
List<double> ElencoDoti = new List<double>();
while (ValoreDiControllo > NumeroPax)
{
Console.WriteLine("Inserisci il nome del partecipante");
nome = Console.ReadLine();
ElencoNomi.Add(nome);
NumeroPax = NumeroPax + 1;
Console.WriteLine("Inserisci la dote di " + nome);
s = Console.ReadLine();
dote = Convert.ToDouble(s);
ElencoDoti.Add(dote);
totaleDoti = totaleDoti + dote;
}
{
coefficiente = quantita / totaleDoti;

}
ArrayDoti = ElencoDoti.ToArray();
ArrayNomi = ElencoNomi.ToArray();

for (int i=0;i<ElencoNomi.length;i++)
{
double Dotielencate = Convert.ToDouble(ElencoDoti[i++]);
string nomi = ElencoNomi[i];
spettante = coefficiente * dote;
Console.WriteLine("A " + nomi.ToString() + " spetteranno " + spettante.ToString());
Console.ReadLine();
}

.Lenght e' sottolineato in azzurro con questa spiegazione nella lista errori : " System.Collection.Generic.List<string> does not contain a definition for "lenght".
Errore di battitura: impossibile, a parte il fatto che ho provato si a Lenght che lenght, ho gia' usato questo metodo altre volte, prima volta che vedo un errore del genere!
Pago da bere a chi ci capisce qualcosa!