Reading Files in C #

0

Good evening, a little help.

I have the following file:

34543;PRIMEIRA PESSOA;230778;CASADO;BANCARIO
23543;SEGUNDA PESSOA;12051985;CASADO;ADMINISTRADOR DE EMPRESAS
36116;TERCEIRA PESSOA;04081954;DIVORCIADO;APOSENTADO/PENSIONISTA
52455;QUARTA PESSOA;16111987;CASADO;ARTESAO

Each line in this file is an object. Each object is inserted in a list. However, I am not getting access to the object's attributes.

Citizen Class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MeuPrimeiroLeitorDeArquivo
{
    public class Cidadao
    {
        public int numeroRegistro { get; set; }
        public string nomeCompleto { get; set; }
        public string dataNascimento { get; set; }
        public string estadoCivil { get; set; }
        public string profissao { get; set; }

        public Cidadao (int nrRegistro, string nmCompleto, string dtNasc, string estCivil, string prfs)
        {
            this.numeroRegistro = nrRegistro;
            this.nomeCompleto = nmCompleto;
            this.dataNascimento = dtNasc;
            this.estadoCivil = estCivil;
            this.profissao = prfs;
        }
    }
}

Form1 class

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace MeuPrimeiroLeitorDeArquivo
{
    public partial class FormPrincipal : Form
    {
        private List<Cidadao> cidadaos = new List<Cidadao>();

        public FormPrincipal()
        {
            InitializeComponent();
        }

        private void FormPrincipal_Load(object sender, EventArgs e)
        {
            List<Cidadao> cidadaos = new List<Cidadao>();

            string arqTxt = @"C:\eclipse\teste1.txt";

            if (File.Exists(arqTxt))
            {
                try
                {
                    using (StreamReader sr = new StreamReader(arqTxt))
                    {
                        String linha;
                        while((linha = sr.ReadLine()) != null)
                        {
                            int formNumeroRegistro;
                            string formNomeCompleto;
                            string formDataNascimento;
                            string formEstadoCivil;
                            string formProfissao;

                            string[] linhaExplodida = linha.Split(';');

                            formNumeroRegistro = Convert.ToInt32(linhaExplodida[0]);
                            formNomeCompleto = linhaExplodida[1];
                            formDataNascimento = linhaExplodida[2];
                            formEstadoCivil = linhaExplodida[3];
                            formProfissao = linhaExplodida[4];

                            Cidadao cidadao = new Cidadao(formNumeroRegistro, formNomeCompleto, formDataNascimento, formEstadoCivil, formProfissao);

                            cidadaos.Add(cidadao);

                        }
                    }

                    if (cidadaos.Count > 0)
                    {
                        Cidadao pessoa1 = this.cidadaos[0];
                        textNumeroRegistro = pessoa1.profissao;
                    }

                } catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            } else
            {
                MessageBox.Show("Arquivo " + arqTxt + " não localizado");
            }
        }
    }
}

The line textNumberRegister = person1.numberRegister; does not compile.

If I do textNumberRegister = Convert.ToString (person1.numberRegister);

does not compile either.

In Visutal Studio, the error message displayed is CS0029 Can not implicitly convert type "int" to "System.Windows.Forms.TextBox" MyFirstLibraryFilter

Does anyone know why?

    
asked by anonymous 18.03.2018 / 22:26

2 answers

0

This error occurred because you were assigning a value to the field itself. That is, .Text was missing.

The correct one is:

textNumeroRegistro.Text = pessoa1.profissao;
    
18.03.2018 / 22:51
0

I just finished redoing.

Do not forget to convert the code as it is integer.

    
18.03.2018 / 22:56