Académique Documents
Professionnel Documents
Culture Documents
Entendendo Enum
O enum uma excelente estrutura para mapear valores sem a necessidade de uma tabela no banco de dados. A grande vantagem tornar o cdigo muito mais claro, principalmente nas regras de negcio. Um enum consiste de conjuntos de um nome e de um valor (inteiro, podendo o tipo "de baixo" ser byte, sbyte, short, long, unshort, unlong de acordo com a sua necessidade. (Luciano Carvalho)
Tabela de tipos
Vantagens Enum
Serve para substituir constantes nomeadas que so relacionadas mas ficam perdidas no cdigo. So simblicos, o que lhe permite trabalhar com valores integrais, mas usando um nome significativo contribuem para uma padronizao no desenvolvimento, facilitam a linha de raciocnio para uma determinada implementao deixam um cdigo muito limpo e fcil de ser compreendido.
Exemplo 1
enum eDias : byte { Dom, Seg, Ter, Qua, Qui, Sex, Sab }; class Program Antes de class { static void Main(string[] args) { Console.WriteLine(eDias.Dom); // imprime Dom Console.WriteLine((int)eDias.Dom); // imprime 0 } // neste caso Dom = 0, segunda = 1... enum eDias : byte { Dom=1, Seg, Ter, Qua, Qui, Sex, Sab }; // neste caso Seg seria = 2, Ter = 3 ...
Exemplo 3
public class Carro { public Combustivel combustivel; } /// utilizando (Main) public enum Combustivel // declarado no program { Gasolina , lcool, Diesel , BioDiesel } class Program { static void Main(string[] args) { Carro meuCarro = new Carro(); meuCarro.combustivel = Combustivel.lcool; Console.WriteLine(meuCarro.combustivel.ToString());
Procedimentos Main
Instanciar objeto Informar tipo de cliente Atribuir o enum a categoria do cliente de acordo com o tipo informado Informar valor de compra Dependendo do tipo do cliente mostrar o valor da compra com desconto ou mostrar que o cliente no tem desconto Mostrar a categoria atribuida
Declarao do enum
public enum eCategoria { Otimo=5, Bom=3, Caloteiro=0 }
StreamReader e StreamWriter
StreamReader e StreamWriter StreamWriter deriva do TextWriter, de forma anloga StreamReader deriva do TextReader, e definem mtodos que permitem a escrita e a leitura de dados textuais para um dado stream.
Mtodos TextWriter
Close(): fecha o Writer e liberta os recursos associados. Write(): escreve a linha para a stream de texto, sem new line no final da linha. WriteLine(): escreve a linha para a stream de texto, com new line no final da linha. WriteAllLines(): grava um array saltando linha por item gravado WriteAllText(): grava uma string; Flush(): limpa os buffers de escrita.
Mtodos TextReader
Read(): l informao da stream de texto ReadLine(): l uma linha de caracteres da stream e devolve a informao como uma string. ReadToEnd(): l todos os caracteres at ao final da stream e devolve essa infomao como uma nica string.
classe FileInfo
(system.IO) serve para ajudar a criar e destruir arquivo entre outras coisas como encapsular detalhe sobre arquivos (tamanhos, atributos, etc.). Mtodos:
CreateText = cria arquivo
Criando arquivos 1
public class EscreveTexto { public static void Main(string[] args) { FileInfo t = new FileInfo(@"c:\temp\t1.txt"); StreamWriter Txt =t.CreateText(); Txt.WriteLine("Gravou linha 1"); Txt.WriteLine("Gravou linha 2"); Txt.Write(Txt.NewLine); Txt.Close(); } }
Criando arquivos 2
1. Gravando um array string[] lines = {"Linha 1", "Linha 2", " Linha 3"}; System.IO.File.WriteAllLines(@"C:\Temp\Exemplo1 .txt", lines); 2. Gravando uma string string text = Um texto livre para gravacao "; System.IO.File.WriteAllText(@"C Temp\Exemplo2.txt ", text); Obs: se utilizarmos using System.IO no incio do programa, reduzimos o cdigo para referencia
Criando arquivos 2
3. Gravando algumas linhas using (StreamWriter arquivo = new StreamWriter(@"C:\temp\exmplo1.txt")) { foreach (string line in lines) { if (line.Contains("Linha 2") == false) { arquivo.WriteLine(line); } } } Obs: considerando termos declarado using System.IO este exemplo equivalente (com uma sintaxe um pouco mais complicada) ao Criando arquivos 1
Criando arquivos 2
4. Gravando em um arquivo existente using (StreamWriter arquivo = new StreamWriter(@"C:\temp\exemplo4.txt", true)) { arquivo.WriteLine(Linha 4"); }
Substituindo string
String Texto = "Uma lio de vida"; String TextoSubstituido = Texto.Replace("lio", "questo"); Console.WriteLine(TextoSubstituido); Console.ReadKey();
Trabalho bimestral
Duplas podero ser formadas Aplicar conceitos de OO, tratamento de erros, comandos para tratamento de arquivos e strings Definir um objeto Agenda (contendo Nome e telefone) Crie os mtodos necessrios
Consulte
http://www.oficinadanet.com.br/artigo/1604/apre ndendo_a_utilizar_o_tipo_enum http://programatik.soucafecomleite.com.br/enum -com-texto http://www.linhadecodigo.com.br/artigo/2826/Tra tamento-de-excecoes-no-CSharp.aspx http://msdn.microsoft.com/ptbr/library/0yd65esw(VS.90).aspx http://msdn.microsoft.com/ptbr/library/8bh11f1k(VS.90).aspx