public static List<Contato> LerArquivo()
 {
     List<Contato> contatosList = new List<Contato>();
     if (File.Exists(@EnderecoArquivo))
     {
         using (StreamReader sr = File.OpenText(@EnderecoArquivo))
         {
             //Peek indica se tem um proximo caracter para ser lido, semelhante ao Next do Java, mas ele retorna -1 quando não tem mais linha.
             while (sr.Peek() >= 0)
             {
                 //le a linha do arquivo
                 string linha = sr.ReadLine();
                 //quebra ela com o separado ;
                 string[] linhaComSplit = linha.Split(';');
                 //le o vetor, cria o objeto e add na lista
                 if (linhaComSplit.Count() == 3)
                 {
                     Contato contato = new Contato();
                     contato.Nome = linhaComSplit[0];
                     contato.Email = linhaComSplit[1];
                     contato.NumeroTelefone = linhaComSplit[2];
                     contatosList.Add(contato);
                 }
             }
         }
     }
     return contatosList;
 }
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            Contato contato = new Contato
            {
                Nome = txbNome.Text,
                Email = txbEmail.Text,
                NumeroTelefone = txbNumero.Text
            };
            List<Contato> contatosList = new List<Contato>();
            foreach (Contato contatoDaLista in lbxContatos.Items)
            {
                contatosList.Add(contatoDaLista);
            }

            if (acao == OperacaoEnum.INCLUIR)
            {
                contatosList.Add(contato);
            }
            else
            {
                //remover o contato selecionado
                int index = lbxContatos.SelectedIndex;
                contatosList.RemoveAt(index);
                //insere com o index correto
                contatosList.Insert(index, contato);
            }
            ManipuladorDeArquivos.EscreverArquivo(contatosList);
            CarregarListaContatos();
            AlterarBotoesSalvarECancelar(false);
            AlterarBotoesIncluirAlterarExcluir(true);
            LimparCampos();
            AlterarCampos(false);
        }