I'm in my second week/second section of learning C# through Treehouse/on my own. I recently switched from learning Javascript and am looking for a review of my code. I believe I've tested everything and have refactored to get it as concise as I can. The project is fully functional and does the following:Adds a new contactUpdates existing contactsChecks for duplicate contactsif contact is a duplicate it asks the user if they want to update returns(prints to the console) new/updated contact to viewRemoves existing contactsFormats contacts (upper/lower case) (oH, bILly) //=> Oh, BillyAllows a user to quit a process at anytimeAllows user to view the entire list of contactsSome things I considered:Using ListI wanted the practice with c# arrays since they differ from the javascript array literalAdding a method that would allow a user to enter partial names and get a list of possible matchesChanging the switch(name) in Main() to an if/else to make it a bit more readable.ADDITIONAL NOTE: I think it is fairly self-documenting, but I wrote it so, if you have any questions please ask. And, ContainsEntry() was written by someone else. I think that covers it..here's my code:Contact classnamespace AddressBook {    class Contact {        public string Name { get; set; }        public string Address { get; set; }        public Contact(string name, string address) {            Name = name;            Address = address;        }    } }AddressBook classusing System;namespace AddressBook {    class AddressBook {        public readonly Contact[] contacts;        public AddressBook() {            contacts = new Contact[2]; ;        }        public bool AddEntry(string name, string address) {            if (!ContainsEntry(name)) {                name = FormatContact(name);                address = FormatContact(address);                Contact AddContact = new Contact(name, address);                for (int i = 0; i < contacts.Length; i++) {                    if (contacts[i] == null) {                        contacts[i] = AddContact;                        Console.WriteLine(Address Book updated. Name: {0} -- Address: {1} has been added!, name, address);                        return true;                    }                }                Console.WriteLine($Cannot add ({name}) to Address Book since it is full!);                return false;            }            else {                Console.WriteLine($({name}) already exists in Address Book!);                UpdateContact(name);            }            return false;        }         public bool UpdateContact(string originalName) {            Console.Write(Are you sure you would you like to update the Contact? -- Type 'Y' or 'N': );            string userResponse = Console.ReadLine().ToLower();            if (userResponse == y) {                Console.Write($Would you like to update {originalName}'s name or address? TYPE - 'Name' for name and 'Address' for address: );                string contactToUpdate = Console.ReadLine().ToLower();                Console.Write($Please enter changes to the {contactToUpdate} here: );                string updatedContact = Console.ReadLine().Trim();                updatedContact = FormatContact(updatedContact);                int index = GetEntryIndex(originalName);                switch(contactToUpdate) {                    case name:                        contacts[index].Name = updatedContact;                        Console.WriteLine($Contact {originalName} updated to {updatedContact});                        return true;                    case address:                        contacts[index].Address = updatedContact;                        Console.WriteLine($Contact {originalName}'s {contactToUpdate} updated to {updatedContact});                        return true;                }            }            return false;        }        private string FormatContact(string stringToFormat) {            char[] arr = stringToFormat.ToCharArray();            for (int i = 0; i < arr.Length; i++) {                int num;                if (i == 0 || arr[i - 1] == ' ' && !( int.TryParse(arr[i].ToString(), out num) ) ) {                     arr[i] = Convert.ToChar( arr[i].ToString().ToUpper() );                }                else {                    arr[i] = Convert.ToChar(arr[i].ToString().ToLower());                }            }            return String.Concat(arr);        }        private int GetEntryIndex(string name) {            for (int i = 0; i < contacts.Length; i++) {                if (contacts[i] != null && contacts[i].Name.ToLower() == name.ToLower())                    return i;            }            return -1;        }        private bool ContainsEntry(string name) {            return GetEntryIndex(name) != -1;        }        public void RemoveEntry(string name) {            var index = GetEntryIndex(name);            if (index != -1) {                contacts[index] = null;                Console.WriteLine({0} removed from contacts, name);            }        }         public string ViewContactsList() {            string contactList = ;            foreach (Contact contact in contacts) {                if (contact == null) {                    continue;                }                contactList += String.Format(Name: {0} -- Address: {1} + Environment.NewLine, contact.Name, contact.Address);            }            return (contactList != String.Empty) ? contactList : Your Address Book is empty.;        }    }}Program classusing System;namespace AddressBook {    class Program {        static void Main(string[] args) {            AddressBook addressBook = new AddressBook();            PromptUser();            void Menu() {                Console.WriteLine(TYPE:);                Console.WriteLine('Add' to add a contact: );                Console.WriteLine('View' to view the list of contacts: );                Console.WriteLine('Remove' to select and remove a contact: );                Console.WriteLine('Update' to select and update a contact: );                Console.WriteLine('Quit' at anytime to exit: );            }            void UpdateAddressBook(string userInput) {                string name = ;                string address = ;                switch ( userInput.ToLower() ) {                    case add:                        Console.Write(Enter a name: );                        name = Console.ReadLine().Trim();                        switch(name) {                            case quit:                                break;                            default:                                Console.Write(Enter an address: );                                address = Console.ReadLine().Trim();                                switch (address) {                                    case quit:                                        break;                                    default:                                        addressBook.AddEntry(name, address);                                        break;                                }                                break;                        }                        break;                    case remove:                        Console.Write(Enter a name to remove: );                        name = Console.ReadLine();                        switch (name) {                            case quit:                                break;                            default:                                addressBook.RemoveEntry(name);                                break;                        }                        break;                    case view:                        Console.WriteLine(addressBook.ViewContactsList());                        break;                    case update:                        Console.WriteLine(Please enter the name of the Contact you wish to update);                        name = Console.ReadLine();                        addressBook.UpdateContact(name);                        break;                }            }            void PromptUser() {                Menu();                string userInput = ;                while (userInput != quit) {                    Console.WriteLine(What would you like to do?);                    userInput = Console.ReadLine().Trim();                    UpdateAddressBook(userInput);                }            }        }     } }
Console Address Book application
c#;beginner;object oriented;array;console