Artigo Recente
Mostrando postagens com marcador Curso C#. Mostrar todas as postagens
Mostrando postagens com marcador Curso C#. Mostrar todas as postagens

segunda-feira, 6 de fevereiro de 2012

Meu Primeiro Programa em C#

O C# usa alumas notações que podem parecer estranhas para quem não é programador. Começaremos considerando um simples que exibe uma linha de texto. O programa e sua saída são mostrado na figura abaixo. O programa de uma janela de saída que apresenta seus resultados. Quando você executar esse programa, a saída aparecerá em uma janela de console.


Esse programa ilustra vários recursos importantes do C#.

A linha 1 e 2 começa com //, indicando que o restante dela é um comentário. Os programadores inserem comentários para documentar e melhorar a clareza de seus código.

Também existe uma sintaxe para se escrever comentários de múltiplas linhas. Os comentários de muitas linhas começão com /* e termina com */.

/* Este é um comentário de
muitas linhas para escrever um bloco de anotações sobre o código
ele serve para explicar o que o código todo faz */

OBS. Não deixe de Fechar os comentários de muitas linhas para não dar ERROS de sintaxe em seu código.

A linha 4 (conhecida como diretiva using) é gerada pelo IDE do Visual Studio e declara que o programa usa recursos do espaço de nomes System. Um espaço de nomes agrupa vários recursos do C# em categorias relacionadas. Uma das maiores vantagens do C# é que os programadores podem usar o rico conjunto de espaços de nomes fornecido pela plataforma .NET (.NET framework).

A linha 5 é uma linha em branco. Os programadores frequentemente usam linhas em branco e caracteres de espaço por todo o programa para torná-lo mais fácil de ler. O copilador ignora as linhas em branco, tabulações e espaços extras que separam elementos da linguagem.

A linha 6 a 12 definem nossa primeira classe. Os programas C# consistem em partes chamadas classes, que são agrupamentos lógicos de membros(isto é, métodos) que simplificam a organização do programa.

Um programa C# consiste em classes e métodos criados pelo programador em classes preexistentes encontradas na Framework Class Library.

A chave de abertura ( { ) na linha 7, inicia o corpo da definição de classe. A chave de fechamento ( } ) correspondente, na linha 12, finaliza a definição de classe. Note que as linhas 8 a 11, no corpo da classe, estão recuadas. Essa é uma das convenções de espaçamento mencionadas anteriormente. O recuo fornece legibilidade ao programa. Definimos cada convenção de espaçamento como uma Boa prática de programação.

A linha 8 está presente em todos os aplicativos de C# e Windows. Esses aplicativos começam a executar em Main, que é conhecido como ponto de entrada do programa. Os parêntese após Main indicam que esse é um bloco de construção de programa, chamado de método. As definições de classe C# normalmente contêm um ou mais métodos, e os aplicativos C# contêm uma ou mais classes. Para um aplicativo de console C# ou Windows, exatamente um desses método.

A chave de abertura ( { ) da linha 9 inicia o corpo da definição de método (o código que será executado como parte de nosso programa). Uma chave de fechamento ( } ) correspondente termina o corpo da definição de método (linha 11). Note que a linha do corpo do método está recuada entre essas chaves.

A linha 10 instrui computador para que execute uma ação, a saber, imprimir uma série de caracteres contidos entre as aspas. Os caracteres delimitados dessa maneira são chamados strings, caracteres de string ou literais de string.

Clique aqui e veja os melhores livros sobre Visual Studio.

***

Bibliografia: DEITEL Harvey M. et al. C# Como Programar. São Paulo: Markon Books, 2007.

quinta-feira, 26 de agosto de 2010

Conceitos Básicos de C# - Aula 3

  • O que é .NET?
.NET é uma plataforma de sortware que conecta informações, sistemas, pessoas e dispositivos. A paltafoma .NET conecrra uma grande variedade de tecnologia de uso pessoal, de negócios,de telefonia celular a servidores corparativos, permitindo assim, o acesso rápido a informações importantes onde elas forem necessárias e imprescidíveis.
O .NET é um"ingrediente" sempre presente em toda a linha de produtos da Microsoft, oferecendo a capacidade de desenvolver, implementar, gerenciar e usar soluções conectadas através de Web Services XML, de maneira rápida, barata e segura.
.NET FrameWork
Podemos dizer que o .NET FrameWork consiste em 3 partes:
  • CLR (Common Language Runtime) - Responsável pela interface entre o código e o sistema operacional;
  • Classes do FrameWork - Todas as linguagens que usam a tecnologia .NET usam as mesmas classes;
  • ASP .NET - Fornece o acesso direto a toda a linguagem VB.NET (Visual Basic) e/ ou C# a partir de uma plataforma de "scriptação".
Class Libraries

classes Base fornecer funcionalidade padrão, como entrada / saída, manipulação de string, gestão de segurança, as comunicações de rede, gerenciamento de segmento de gestão de texto e recursos de design de interface de usuário.

As classes ADO.NET permitem que os desenvolvedores interagem com os dados acessados na forma de XML através do OLE DB, ODBC, Oracle, SQL Server e interfaces. classes XML permitem a manipulação de XML, pesquisar e traduções. As classes ASP.NET apoiar o desenvolvimento de aplicações baseadas na Web e Web services. As classes Windows Forms apoiar o desenvolvimento de aplicações desktop baseadas cliente inteligente.

Juntas, as bibliotecas de classe comum fornecer uma interface de desenvolvimento consistente em todos os idiomas suportados pelo. NET Framework.

sexta-feira, 20 de agosto de 2010

Conceitos Básicos de C# - Aula 2

  • PRIMEIRO PROGRAMA
Escrevendo o tradicional programa Hello World, em C#:
Código 1: Hello World em C#

1 using System ;
2 class Hello {
3 public static void Main (){
4 Console . WriteLine ( " H e l l o W o r l d ! ! ! " );
5 }
6 }

A cláusula using referencia a as classes a serem utilizadas, System atua como namespace das classes. O namespace System contém muitas classes, uma delas é a Console. O método WriteLine, simplesmente emite a string no console.

Main

O método Main é o ponto de entrada de execução do seu programa. A classe que será executada inicialmente possui embutida a função estática Main. Uma ou mais classes podem conter a função Main, entretanto, apenas uma será o ponto de entrada, indicada na compilação pelo parâmetro /main:<tipo>, ou simplificando /m:<tipo>.

O método Main, pode ser declarado de 4 formas:
  1. Retornando um vazio(void): public static void Main();
  2. Retornando um inteiro(int): public static int Main();
  3. Recebendo argumentos, através de um array de string e retornando um vazio: public static void Main(string[] args);
  4. Recebendo argumentos, através de um array de string e retornando um inteiro: public static int Main(string[] args).
  • ESTRUTURA DE UM PROGRAMA
O esqueleto de um programa em C#, apresentando alguns dos seus elementos mais comuns, segue abaixo:
Código 2: Estrutura de um programa em C#

1 using System ;
2 namespace MathNamespace {
3 public class MathClass {
4 /* Main : exibe no prompt */
5 public static void Main ( string [] args ){
6 Math m = new Math ();
7 Console . WriteLine (m.Sum (1 ,1));
8 }
9 // <summary > Classe Math </ summary >
10 public class Math : Object {
11 public int Sum(int a, int b){
12 return (a+b);
13 }
14 }
15 }
16 }

A estrutura de um programa em C#, pode ser dividida em um ou mais arquivos, e conter:
  • Namespaces: são a forma lógica de organizar o código-fonte;
  • Tipos: classes, estruturas, interfaces, delegações, enums;
  • Membros: constantes, campos, métodos, propriedades, indexadores, eventos, operadores, construtores;
  • Outros: coméntarios e instruções.

  • VARIÁVEIS NA LINGUAGEM C#
Na linguagem C# as variáveis estão agrupadas em algumas categorias como:
  • Static: existe apenas uma única copia desta variável para todas as instâncias de uma classe. Uma variável static começa a existir quando um programa começa a executar, e deixa de existir quando o programa terminar.
  • Instance: existe uma copia para cada instância de uma classe. Uma variável Instance começa a existir quando uma instância daquele tipo e criado, e deixa de existir quando não houver nenhuma referencia aquela instância ou quando e método Finalize e executado.
  • Array: é uma matriz que e criada em tempo de execução.

  • Tipos de dados
Como toda linguagem de programação o C# também apresenta seu grupo de tipos de dados básico. Esses tipos são conhecidos como tipos primitivos ou fundamentais por serem suportados diretamente pelo compilador, e serão utilizados durante a codificação na definição de variáveis, parâmetros, declarações e até mesmo em comparações.

A Tabela 1 apresenta os tipos b´asicos da linguagem C# relacionados juntamente com os tipos de dados do .NET Em C#, todos eles possuem um correspondente na Common Language Runtime(CLR), por exemplo int, em C#, refere-se a System.Int32.
  • Tipos Valor e Tipos Referência
Os tipos de dados no C# são divididos em 3 categorias:
• Tipos valor(value types);
• Tipos referência(reference types);
• Tipos ponteiro(pointer types).

Tipos valor armazenam dados em memória enquanto tipos referência armazenam uma referência, ou o endereço, para o valor atual.
Quando utilizamos uma variável do tipo referência não estaremos acessando seu valor diretamente, mas sim um endereço referente ao seu valor, ao contrário do tipo valor que permite o acesso diretamente a seu conteúdo.
Os tipos ponteiro, apenas apontam para um endereço de memória.
  • Conversão de Tipos

Converter um tipo de dado em número ou em literal é comum em situações de programação. Devemos considerar alguns aspectos para a conversão de números:
• Como existem diversos tipos de números, inteiros, ponto flutuante ou decimal, os valores são convertidos sempre para o tipo de maior faixa de valores. Por exemplo, o tipo long é convertido para o ponto flutuante, mais é importante ressaltar que o contrario causa um erro.
• Os tipos de menor faixa são convertidos para os de maior faixa. Por exemplo, o tipo int
pode ser convertido para: long, float, double ou decimal.
• A conversão dos tipos de ponto flutuante(float, double) para decimal causa erro.
• A conversão entre os tipos com sinal e sem sinal de valores inteiros com o mesmo tamanho
causa erro. Por exemplo, entre o tipo int e unit.
Por exemplo:
Código 3: Exemplo de convers˜ao autom´atica de tipos

1 int VarInteiro = 32450;
2 long VarLong = VarInteiro ;
3 float VarFloat = VarLong ;
4 double VarDouble = VarFloat ;
5 decimal VarDecimal = VarLong ;
6 byte VarByte = ( byte ) VarInteiro ;
7 int VarInteiro = (int) 31.245 F;


  • O Objeto Convert
Em C# temos o objeto Convert que é usado para converter um tipo de dado em outro.
Os tipos de dados suportados são: Boolean, Char, SByte, Byte, Int16, Int32, Int64, UInt16, UInt32, UInt64, Single, Double, Decimal, DateTime e String.
Por exemplo:
Código 4: Exemplo de utiliza¸c˜ao do objeto Convert

1 double dNumber = 23.15;
2
3 int iNumber = System . Convert . ToInt32 ( dNumber );
4 bool bNumber = System . Convert . ToBoolean ( dNumber );
5 String strNumber = System . Convert . ToString ( dNumber );
6 char chrNumber = System . Convert . ToChar ( strNumber [0]) ;

  • Arrays
Um tipo array é uma matriz de valores do mesmo tipo, que é criada em tempo de execução, podendo ser acessada por meio de um índice. A declaração do array sempre faz o uso de um colchete( [ ] ) depois do tipo da variável. O uso da instruão new sempre deve ser utilizado, pois é obrigatório.
O tipo array pode ter diversas dimensões, o tamanho desta é definido pelo desenvolvedor, mas devemos saber que o primeiro índice é sempre zero.
No tipo array devemos sempre inicializar seus elementos, pois é obrigatório também. Veja
abaixo a forma de sintaxe para a declaração de arrays.
Para passar um argumento array para um método, especifique o nome do array sem usar colchetes e para que um método receba um array, a lista de parâmetros deve especificar que um array será recebido. Veja o seguinte exemplo:
Algumas Propriedades e Métodos dos Arrays:
• obj.Length −! Tamanho do vetor;
• Array.IndexOf(Array vetor, object value) −! Procura a primeira ocorrência de valor em vetor;
• Array.LastIndexOf(Array vetor, object value) −! Procura a última ocorrência de valor em vetor;
• Array.Sort(Array vetor) −! Ordena um vetor crescentemente;
• Array.Reverse(Array vetor) −! Ordena um vetor decrescentemente.

Clique aqui e veja livros sobre o Visual Studio.

quarta-feira, 18 de agosto de 2010

Conceitos Básicos de C# - Aula 01

INTRODUÇÃO

Entende-se por uma plataforma de desenvolvimento, um conjunto de instruções ordenadas que tem por objetivo resolver um problema do mundo real, abstraindo-o em um conjunto de comandos lógicos.


.NET é a nova plataforma de desenvolvimento da Microsoft que tem como foco principal o desenvolvimento de Serviços WEB XML. Um serviço Web XML, ou simplesmente Web Service transcende ao que nós conhecemos como páginas dinâmicas, as quais podem ser acessadas a partir de um browser. A idéa central de um Web Service consiste em permitir que as aplicações, sejam elas da Web ou Desktop, se comuniquem e troquem dados de forma simples e transparente, independente do sistema operacional ou da linguagem de programação.

Abordagem .NET

• Independência de linguagem de programação: o que permite a implementação do mecanismo de herança, controle de exceções e depuração entre linguagens de programação diferentes;

• Reutilização de código legado: o que implica em reaproveitamento de código escrito usando outras tecnologias como COM, COM+, ATL, DLLs e outras bibliotecas existentes;

• Tempo de execução compartilhado: o ”runtime” de .NET é compartilhado entre as diversas linguagens que a suportam, o que quer dizer que não existe um runtime diferente para cada linguagem que implementa .NET;

• Sistemas auto-explicativos e controle de versões: cada peça de código .NET contém em si mesma a informação necessária e suficiente de forma que o runtime não precise procurar no registro do Windows mais informações sobre o programa que está sendo executado. O runtime encontra essas informações no próprio sistema em questão e sabe qual a versõo a ser executada, sem acusar aqueles velhos conflitos de incompatibilidade ao registrar DLLs no Windows;

• Simplicidade na resolução de problemas complexos.

Arquitetura .NET
  • CLR (Commom Language Runtime) O CLR, ou tempo de execução compartilhado, é o ambiente de execução das aplicações .NET. As aplicações .NET não são aplica¸ções Win32 propriamente ditas (apesar de executarem no ambiente Windows), razão pela qual o runtime Win32 não sabe como executá-las. O Win32, ao identificar uma aplicação .NET, dispara o runtime .NET que, a partir desse momento, assume o controle da aplicação no sentido mais amplo da palavra, porque, dentre outras coisas, é ele quem vai cuidar do gerenciamento da memória via um mecanismo de gerenciamento de memória chamado Garbage Collector (GC) ou coletor de lixo. Esse gerenciamento da memória torna os programas menos susceptíveis a erros. Mais ainda, o CLR como seu próprio nome o diz, é compartilhado e, portanto, não temos um runtime para VB.NET, outro para C# etc. É o mesmo para todo mundo.
  • CLS (Common Language Specification) O CLS, ou Especificação Comumda Linguagem, é um subconjunto do CTS, e define um conjunto de regras que qualquer linguagem que implemente a .NET 8 deve seguir a fim de que o código gerado resultante da compilação de qualquer peça de software escrita na referida linguagem seja perfeitamente entendido pelo runtime .NET.
  • BCL (Base Classe Library) Oferece ao desenvolvedor uma biblioteca consistente de componentes de software reutilizáveis que não apenas facilitem, mas também que acelerem o desenvolvimento de sistemas.

• Simplicidade: os projetistas de C# costumam dizer que essa linguagem é tão poderosa quanto o C++ e tão simples quanto o Visual Basic.

• Completamente orientada a objetos: em C#, qualquer variável tem de fazer parte de uma classe.

• Fortemente tipada: isso ajudará a evitar erros por manipulação imprópria de tipos, atribuições incorretas etc.

• Gera código gerenciado: assim como o ambiente .NET é gerenciado, assim também é a linguagem C#.

• Tudo é um objeto: System.Object é a classe base de todo o sistema de tipos de C#.

• Controle de versões: cada assembly gerado, seja como EXE ou DLL, tem informação sobre a versão do código, permitindo a coexistência de dois assemblies homônimos, mas de versões diferentes no mesmo ambiente.

• Suporte a código legado: o C# pode interagir com código legado de objetos COM e DLLs escritas em uma linguagem não-gerenciada.

• Flexibilidade: se o desenvolvedor precisar usar ponteiros, o C# permite, mas ao custo de desenvolver código não-gerenciado, chamado ”unsafe”.

• Linguagem gerenciada: os programas desenvolvidos em C# executam num ambiente gerenciado, o que significa que todo o gerenciamento de memória é feito pelo runtime via o GC (Garbage Collector), e não diretamente pelo programador, reduzindo as chances de cometer erros comuns a linguagens de programação onde o gerenciamento da memória é feito diretamente pelo programador.

Clique aqui e veja livros os melhores livros sobre o Visual Studio.

Contribua com este blog, doe qualquer quantia.

Popular Posts

David e Débora. Tecnologia do Blogger.