private static Lst_Alunos Ler_ficheiro(string p_nome_do_csv) { /* * Utiliza um StreamReader * guardar o enconding do ficheiro aberto para a gravação * para cada registo do CSV * se não é a linha de cabeçalhos * preenche matriz de dados * se não é cabeçalho * processa novo aluno * ano letivo * nº de processo * nome completo * email * senha * unidade organica * escola * ano escolar * turma * adiciona à lista * se a lista tem registos * constroi conjunto * senão * avisa que está vazia * devolve a lista construída (vazia ou não) */ Lst_Alunos lista = new Lst_Alunos(); Int16 res = 0; using (StreamReader parser = new StreamReader(p_nome_do_csv)) { encoding_dos_fich_lidos = parser.CurrentEncoding; while (!parser.EndOfStream) { string[] dados = parser.ReadLine().ToString().Split(';'); if (Int16.TryParse(dados[0], out res)) { Aluno aluno = new Aluno( res, // ano letivo Int16.Parse(dados[1]), // nº de processo dados[2].ToString(), // nome completo String.Empty, // email String.Empty, // senha consts.UNIDADE_ORGANICA_ALUNOS, // unidade organica dados[3].ToString(), // escola dados[4].ToString(), // ano escolar dados[5].ToString() // turma ); lista.lista.Add(aluno); } } if (lista.lista != null) { if (lista.lista.Count > 0) { lista.Constroi_conjunto(); } } else { Console.WriteLine("Não li nada"); } } return(lista); }