- 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