using System.Collections;
public static void Main()
ArrayList phoneBook = new ArrayList();
phoneBook.Add(new ArrayList() {"Andre", "9999-0001"});
phoneBook.Add(new ArrayList() {"Bruno", "9999-0002"});
phoneBook.Add(new ArrayList() {"Carlos", "9999-0003"});
phoneBook.Add(new ArrayList() {"Diego", "9999-0004"});
phoneBook.Add(new ArrayList() {"Eli", "9999-0005"});
phoneBook.Add(new ArrayList() {"Fabio", "9999-0006"});
phoneBook.Add(new ArrayList() {"Gustavo", "9999-0007"});
phoneBook.Add(new ArrayList() {"Honorio", "9999-0008"});
phoneBook.Add(new ArrayList() {"Igor", "9999-0009"});
phoneBook.Add(new ArrayList() {"Joao", "9999-0010"});
phoneBook.Add(new ArrayList() {"Kaio", "9999-0011"});
phoneBook.Add(new ArrayList() {"Luan", "9999-0012"});
phoneBook.Add(new ArrayList() {"Manoel", "9999-0013"});
phoneBook.Add(new ArrayList() {"Natan", "9999-0014"});
phoneBook.Add(new ArrayList() {"Oto", "9999-0015"});
phoneBook.Add(new ArrayList() {"Paulo", "9999-0016"});
phoneBook.Add(new ArrayList() {"Quevis", "9999-0017"});
phoneBook.Add(new ArrayList() {"Ramon", "9999-0018"});
phoneBook.Add(new ArrayList() {"Samuel", "9999-0019"});
phoneBook.Add(new ArrayList() {"Tiago", "9999-0020"});
phoneBook.Add(new ArrayList() {"Ubaldo", "9999-0021"});
phoneBook.Add(new ArrayList() {"Victor", "9999-0022"});
phoneBook.Add(new ArrayList() {"Wingler", "9999-0023"});
phoneBook.Add(new ArrayList() {"Xavier", "9999-0024"});
phoneBook.Add(new ArrayList() {"Yan", "9999-0025"});
phoneBook.Add(new ArrayList() {"Zarate", "9999-0026"});
Console.WriteLine(checkNumber(phoneBook, "Xavier"));
public static string checkNumber(ArrayList phoneBook, String name)
ArrayList contact = new ArrayList();
while (phoneBook.Count > 1)
int middlePos = phoneBook.Count/2;
contact = (ArrayList)phoneBook[middlePos];
if (string.Compare(name, (string)contact[0]) == 1)
phoneBook = phoneBook.GetRange(middlePos+1, phoneBook.Count - middlePos -1);
else if (string.Compare(name, (string)contact[0]) == -1)
phoneBook = phoneBook.GetRange(0, phoneBook.Count - middlePos);
else if (string.Compare((string)contact[0], name) == 0)
return (string)contact[1];
if (phoneBook.Count == 1)
contact = (ArrayList)phoneBook[0];
return string.Compare((string)contact[0], name) == 0 ? (string)contact[1] : "Not Found";