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); }