Fundamentos do .NET Framework - Parte 2

51
MICROSOFT .NET C# 2.0 JULIAN CORRÊA A linguagem C# Core foundation - Módulo 1 Pré-requisitos: Conhecimento da estrutura do .NET Framework Visual Studio 2005+ instalado Conteúdo: Particularidades da linguagem Tipos de dados Comandos (Statements) Declaração de variáveis Operadores Arrays FORMADO EM CIÊNCIA DA COMPUTAÇÃO PELA UNIVERSIDADE FUMEC PÓS-GRADUADO EM GESTÃO DE PROJETOS EXPERIENCIA EM DESENVOLVIMENTO DE SOFTWARE NA TOTVS SA CURSO DE FORMAÇÃO EM .NET PELA MICROSOFT MCP - TS: MICROSOFT .NET FRAMEWORK 2.0 – APPLICATION DEVELOPMENT FOUNDATION DESENVOLVEDOR PARA DISPOSITIVOS MÓVEIS – IOS (IPHONE, IPAD, IPOD )

description

Conteúdo: Particularidades da linguagem Tipos de dados Comandos (Statements) Declaração de variáveis Operadores Arrays Boxing e Unboxing

Transcript of Fundamentos do .NET Framework - Parte 2

  • 1. Core foundation - Mdulo 1Pr-requisitos:Conhecimento da estrutura do .NET FrameworkVisual Studio 2005+ instaladoContedo:Particularidades da linguagemTipos de dadosComandos (Statements)Declarao de variveisOperadoresArrays

2. Microsoft .NET C#I) Descrio da linguagemII)Estrutura de um programa C#III) Tipos de dadosIV)ComandosV) Declaraes de variveisVI)OperadoresVII) ArraysI) Descrio da linguagem Introduo a linguagem Funcionalidades da linguagem 3. A linguagem C# (l-se Csharp) muito similar a Java e a outraslinguagens. Poderamos dizer que a similaridade de C# 70% Java,10% C++, 5% VisualBasic e 15% novo Tudo um objeto. Linguagem fortemente tipada Compila para cdigo intermedirio Herana simples de classes, herana mltipla atravs de interfaces Orientada a Objetos Estruturao em blocos Instrues so separadas por ; Comentrios de uma linha com: // Comentrios de mais de uma linha entre /* e */ Documentao XML: /// Case Sensitive 4. Programao baseada em componentes Propriedades Eventos Delegates Indexers Sobrecarga de operador Foreach Boxing/Unboxing Attributes Generics Reflection Remoting .... 5. Microsoft .NET C# I) Descrio da linguagem II)Estrutura de um programa C# III) Tipos de dados IV)Comandos V) Declaraes de variveis VI)Operadores VII) ArraysII) Estrutura de um programa C#Definio Diagrama conceitual Exemplo Hello WorldCompilando um programa complexo 6. Em C#, uma aplicao um conjunto de umaou mais classes, estruturas de dados e outrostipos. Para nicio do entendimeto, definiremos Classecomo sendo um conjunto de dados combinadocom mtodos (ou funes) que podemmanipular dados. 6 7. ProgramaArquivo1.csNamespace ZAquivo2.csClasse X Classe YInt DoIt(); static void Main(){}; Int UndoIt();ArquivoN.cs 8. Se um namespace no for especificado assumido peloframework um ns annimoNamespaces podem conter, alm de classes, structs,interfaces, delegates e enums. Namespaces pode ser reabertos em outros arquivos Caso mais simples => uma nica classe, nico arquivo edefault namespace ( Exemplo do Hello World ). 8 9. using System; class Hello {static void Main(){ Console.WriteLine("Hello World"); Console.Read();} }Assim como no C,C++ e no Java, necessrio ter o mtodo MAIN semou com argumentos para que o programa seja iniciado.Compilao para console:csc HeloWorld.csExecuo:HelloWorld 10. Programa com dois arquivos sem e com referncia a DLLclass Contador{using System;int valor = 0; class Programapublic void Add(int x) {{ static void Main()valor = valor + x;{}Contador c = new Contador(); Console.WriteLine("Antes : valor = " + c.Valor());public int Valor() c.Add(3);{c.Add(5);return valor;Console.WriteLine("Depois : valor = " + c.Valor());}Console.Read();} } }Compilando os dois arquivos :Csc Contador.cs Programa.cs => Gera Programa.exeCompilando os dois arquivos com referncia a DLL :Csc /target:library Contador.cs=> Gera Contador.DLLCsc /reference:Contador.dll Programa.cs => Gerar Programa.exe 11. Microsoft .NET C# I) Descrio da linguagem II)Estrutura de um programa C# III) Tipos de dados IV)Comandos V) Declaraes de variveis VI)Operadores VII) ArraysIII) Tipos de dadosTipos de dados por valor e por refernciaTipos de dados por valor definidos pelo usurioEnumeradosCompatibilidade entre tipos 12. No .NET os tipos de dados so dividos da seguinte maneira:Todos os tipos herdam de System.Object. 12 13. Por Valor Por refernciaVariveis contm ValorReferncia (ponteiro)Armazenados na StackHeapNa atribuioCopia o valorCopia a refernciaExemploInt i = 20;String s1 = Julian; Int j = i; String s2 = s1;i20 s1j20 s2julianLink interessante: http://www.maxi-pedia.com/what+is+heap+and+stack 13 14. 14 15. 15 16. Enumerados so tipos por valor, so na verdade inteiros. Sosmbolos que possuem valores fixo e servem principalmente parafacilitar a codificao.Public enum Sexo {enum Titles : intMasculino = 10, { Feminino = 20 Mr,} Ms, Mrs, Dr}; 16 17. 17 18. Microsoft .NET C# I) Descrio da linguagem II)Estrutura de um programa C# III) Tipos de dados IV)Comandos V) Declaraes de variveis VI)Operadores VII) ArraysIV) Comandos ( Statements )Comandos de seleoComandos de iterao ( laos)Comandos de saltoComandos de captura 19. If.{....} else if{....} else.....int i = 10;if( i % 2 == 0) Console.WriteLine(Nmero Par);else Console.WriteLine(Nmero Impar);//Utilizando operador ternrioint i = 10;Console.WriteLine(i % 2 == 0 ? Nmero Par : Nmero Impar); 19 20. Switch(X){....case..break...}SexoEnum sexo = GetSexo();switch (sexo){case SexoEnum.Masculino: Console.WriteLine("Homem"); break;case SexoEnum.Feminino: Console.WriteLine("Mulher"); break;default: Console.WriteLine("No poderia ter chegado aqui"); throw new ApplicationException("Erro fatal"); break;}20 21. Segue o mesmo estilo das linguagens JAVA, C e C++:using System;//Loop infinitopublic class Program{using System; static void Main() { public class Program{for( int i = 0; i < 5; i++) static void Main() {{Console.WriteLine(Iterao : {0},i); for(;;)} { Console.Read(); string input = Console.ReadLine(); } if(input.ToUpper()Equals(EXIT)) break; }Console.Read();}21 22. Este tipo de lao utilzado para varrer arrays ou colees. No precisa de uma condio booleana paraparar o lao. No precisa inicializar variveis. No precisamos nos preocupar com a forma de extraodo contedo. using System; using System.Collections.Specialized; public class Program{static void Main(){ String[] nomes = new String[] { "Julian", "Maria", "Joao", "Bruno" }; foreach (String nome in nomes) {Console.WriteLine(nome); } Console.ReadKey();} } 22 23. Este tipo de lao utilizado quando queremos que um bloco de cdigo seja executado pelo menos umavez. using System; public class Program{static void Main(){int i = 45; do {Console.WriteLine(i);i++; } while (i