- Introdução bem básica sobre C#
O C# é uma das linguagens que você pode usar na plataforma .NET além dela você pode usar também VB .NET e qualquer implementação que use o .NET Framework , mas vou me ater somente as duas mais conhecidas e que são distribuídas com o Visual Studio. |
Então veja bem , você primeiro escolhe qual linguagem vai usar , no nosso caso C# ou VB .NET , para na sequência criar os seus projetos na linguagem escolhida. Dessa forma você pode desenvolver aplicações Windows Forms usando C# ou VB .NET como pode também desenvolver aplicações para web , no caso ASP .NET , usando C# ou VB .NET.
Muita gente pensa que ASP .NET é uma linguagem, mas não é , veja a seguir uma definição sobe ASP .NET da WikiPédia:
ASP.NET
é a plataforma da Microsoft para o desenvolvimento de
aplicações Web e é o sucessor da tecnologia ASP. É um componente do IIS que permite através de uma linguagem de programação integrada na .NET Framework criar páginas dinâmicas. Não é nem uma linguagem de programação como VBScript, php, nem um servidor web como IIS, Apache. O ASP.NET é baseado no Framework .NET herdando todas as suas características, por isso, como qualquer aplicação .NET, as aplicações para essa plataforma podem ser escritas em várias linguagens, como C# e Visual Basic .NET. fonte: http://pt.wikipedia.org/wiki/ASP.NET |
Veja também meus artigos : Minha primeira página ASP.NET e ASP.NET evolução ou enganação
Bem, mas meu assunto neste artigo é C#.
Então C# é uma linguagem que você pode usar para criar aplicações Windows Forms ou aplicações Web (ASP .NET).
Se você pretende usar C# como sua linguagem de programação não vai precisar gastar um centavo pois pode usar as seguintes ferramentas:
1- Visual C# 2008 Express Edition
2- SharpDevelop 2.2
Nota: É bom você saber que existe o projeto Mono que pretende ser uma implementação livre e multi-plataforma do .NET. O objetivo desse projeto é criar um framework de desenvolvimento opensource que seja robusto, confiável, fácil e agradável de ser utilizado.(http://www.mono-project.com/Main_Page)
Cada uma delas possui recursos diferentes sendo que a primeira parece ser mais fácil de usar mas cabe a você verificar e escolher qual deseja usar.
Com as ferramentas indicadas desenvolver aplicações fica muito simples mas neste artigo eu vou mostrar alguns aspectos básicos da linguagem que você deve saber embora talvez nunca precise usar.
Como já foi dito você pode criar programas usando C# e apenas um editor como o bloco de notas. Embora isso não seja lá muito produtivo você pode seguir este caminho se desejar. Neste caso você deverá seguir os seguintes passos:
1- Digitar o seu programa C# em um
editor de textos como o Bloco de Notas (
NotePad++) salvando-o com um nome
qualquer e uma extensão .cs;
2- Compilar o programa usando o compilador de linha de comando C#
chamado csc.exe;
3- Executar o programa;
Nota: Um Editor gratuito muito versátil é o NotePad++ que suporta várias linguagens de programação.
Antes de executar o csc.exe você pode precisar rodar o arquivo de lote vcvars32.bat que esta localizado na pasta de instalação do Visual Studio. Na minha máquina o caminho é: C:\Arquivos de programas\Microsoft Visual Studio 9.0\VC\bin
Um dos programas C# mais simples que você vai conseguir criar pode ser visto a seguir:
using System; class MainClass { public static void Main() { Console.WriteLine("O programa C# mais simples que existe. "); } } |
Abaixo temos um exemplo de código gerado pelo SharpDevelop:
Note que o programa inicia com uma chamada ao método
Main();
A declaração de namespaces em C# é feita usando a palavra using;
Um bloco de código C# é delimitado por colchetes "{" e "}" um para abrir e outro para fechar. Se você abrir e não fechar o bloco vai ocorrer um erro.
Para evitar esquecer de fechar um bloco de código siga as seguintes regras:(se desejar...)
|
A linguagem C# é case sensitive, ou seja, faz diferença entre maiúsculas e minúsculas. Exemplos:
Declaração | descrição |
private string nomesuario; | define uma variável string nomeusario; |
private string Nomeusuario; | define uma variável string Nomeusuario que é diferente da variável nomeusuario; |
private string nomeUsuario; | define uma variável string nomeUsuario que é diferente das duas variáveis declaradas anteriormente; |
private string NomeUsuario; | define uma variável string NomeUsuario que é diferente das demais variáveis declaradas anteriormente; |
Além disso toda declaração deve possuir o sinal de ponto e vírgula (;) ao seu final.
Abaixo temos um exemplo de uma instrução que irá gerar o erro a esquerda, e a instrução correta a direita:
{ Console.WriteLine(Hello) } |
{ Console.WriteLine(Hello); } |
|
errado |
correto |
Se você não tomar cuidado com estes pequenos detalhes pode ficar quebrando a cabeça procurando erros que são na verdade erros de digitação.
Para documentar o seu código você pode usar tags XML e um comentário sendo que o comentário XML é sempre adicionado após barras triplas, conforme exemplo abaixo:
using System; namespace DocumentationCommentsExample { /// <summary> /// A documentation sample - the short description goes here /// </summary> /// <remarks>Where a longer description would go</remarks> class ClassExample { /// <summary> /// A member variable /// </summary> private string m_str; /// <summary> /// A method example /// </summary> /// <param name="val">a new value to be saved</param> /// <returns>the length of the string</returns> public int MethodExample( string val ) { m_str = val; return val.Length; } } } |
Abaixo segue uma lista das tags XML mais usadas na documentação.( Lembre-se que com XML você pode criar suas próprias tags)
TAG | PROPÓSITO de uso |
<summary> </summary> | Breve descrição de uma classe, método ou propriedade. |
<remarks> </remarks> | Descrição mais detalhada. |
<para> ... </para> | Permite delinear parágrafos dentro da tag <remarks> |
<list type=" "> </list> | Permite usar marcadores para formatar uma descrição. Os tipos de marcadores podem ser bullet, number e table. |
<example> </example> | Para disponibilizar um exemplo de como usar um método, propriedade ou outro membro da biblioteca. |
<code> </code> | Para indicar que o texto incluído é código da aplicação. |
<c> </c> | Para indicar que o texto incluído é código da aplicação. É usada para linhas de código que precisam ser separadas da descrição. |
<see cref="member"/> | Indica uma referencia a outro membro ou campo. O compilador verifica se o membro realmente existe. |
<exception> </exception> | Para fazer a descrição de uma exceção. |
<permission> </permission> | Para documentar a acessibilidade. |
<param name="name"> </param> | Para documentar um parâmetro de um método. |
<returns> </returns> | Para documentar um valor e seu tipo retornado de um método. |
<value> </value> | Para descrever uma propriedade |
A linguagem C# possui uma coleção de palavras chaves ou reservadas que são usadas pela linguagem conforme abaixo:
abstract as base bool break Byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while |
Note que as palavras reservadas são todas em caixa baixa (minúsculas) dessa forma o compilador não vai reconhecer a instrução Return pois a instrução correta é return.
Além disso C# contém duas categorias de tipos de dados embutidos:
1- Tipos por valor
- consistem em duas categorias : Struts e Enumerations;
2- Tipos por referência - definidos por
classes;
Qual a principal diferença ?
Em suma uma variável de valor ou Value-Type contém diretamente a informação e uma variável de referência (Reference-Type) contém uma referência a um endereço de memória onde esta a informação.
Value-Type
A seguir temos os tipos usado no C# com sua referência no .NET Framework:
Tipo C# | Tipo .NET Framework | Significado |
bool | System.Boolean | Representa valores true e false |
byte | System.Byte | inteiro de 8-bit sem sinal |
sbyte | System.SByte | |
char | System.Char | Um caractere |
decimal | System.Decimal | Tipo numérico para cálculos financeiros |
double | System.Double | Ponto flutuante de precisão dupla |
float | System.Single | Ponto Flutuante de precisão simples |
int | System.Int32 | Inteiro |
uint | System.UInt32 | inteiro sem sinal |
long | System.Int64 | Inteiro Longo |
ulong | System.UInt64 | inteiro longo sem sinal |
object | System.Object | objeto |
short | System.Int16 | Inteiro Short |
ushort | System.UInt16 | Um inteiro short sem sinal |
string | System.String | Uma sequencia de caracteres |
A seguinte tabela mostra os tipos de variáveis e os valores possíveis de se armazenar em cada uma delas.
Tipo C# | Valores possíveis de se armazenar |
bool | Verdadeiro ou Falso |
byte | 0 a 255 (8 bits) |
sbyte | -128 a 127 (8 bits) |
char | Um caractere (16 bits) |
decimal | ±1.0 × 10-28 a ±7.9 × 1028 (128 bits) |
double | ±5.0 × 10-324 a ±1.7 × 10308 (64 bits) |
float | ±1.5 × 10-45 a ±3.4 × 1038 (32 bits) |
int | -2,147,483,648 a 2,147,483,647 (32 bits) |
uint | 0 a 4,294,967,295 (32 bits) |
long | 9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 (64 bits) |
ulong | 0 a 18,446,744,073,709,551,615 (64 bits) |
object | Qualquer tipo. |
short | -32,768 a 32,767 (16 bits) |
ushort | 0 a 65,535 (16 bits) |
string | Seqüência de caracteres (16 bits por caractere) |
Para encerrar vou relacionar alguns links onde você poderá encontrar material de estudo sobre C#:
Você pode baixar também o livro : Dissecating a C# Application ( Chapter 18: Language Bindings (Download).)
Um bom estudo para você...
Eu sei é apenas C# mas eu gosto...
Referências: