Um Pouco sobre C#
Autor: Jessé Teixeira Soares | Publicado: 2012-05-01T08:20:00-07:00






(CSharp) 


É uma linguagem de
programação orientada a objetos criada pela Microsoft, faz parte da sua
plataforma .Net. A companhia baseou C# na linguagem C++ e Java.


História
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A linguagem C# foi criada junto com
a arquitetura .NET. Embora existam várias outras linguagens que suportam essa
tecnologia (como VB.NET, C++, J#), C# é considerada a linguagem símbolo do .NET
pelas seguintes razões:

* Foi criada praticamente do zero para funcionar na nova plataforma, sem
preocupações de compatibilidade com código de legado.
* O compilador C# foi o primeiro a ser desenvolvido.
* A maior parte das classes do .NET Framework foram desenvolvidas em C#.

A criação da linguagem, embora tenha sido feita por vários desenvolvedores, é
atribuída principalmente a Anders Hejlsberg, hoje um Distinguished Engineer na
Microsoft. Anders Hejlsberg era desenvolvedor de compiladores na Borland, e
entre suas criações mais conhecidas estão o Turbo Pascal e o Delphi.&nbsp;




Introdução
ao &nbsp;C#


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A sintaxe C# é altamente expressiva, mas
também é simples e fácil de aprender. A sintaxe do C# utilizando chaves como
marcador de blocos será instantaneamente reconhecível para qualquer pessoa
familiarizada com C, C++ ou Java. Os desenvolvedores que conhecem qualquer uma
dessas linguagens são geralmente capazes de começar a trabalhar produtivamente
em C# dentro de um Hora muito Abreviado. A sintaxe C# simplifica muitos das
complexidades de C++ e fornece recursos poderosos sistema autônomo tipo de
valor anulável, enumerações, Delega, expressões lambda e acesso direto à
memória, que não se encontram em Java. C# oferece suporte a métodos genéricos e
tipos, que fornecem maior segurança de tipos e desempenho e iteradores, que
Habilitar implementadores das classes de coleção para definir comportamentos
personalizados da iteração que são simples para usar pelo código do cliente. LINQ
(consulta integrada à linguagem)expressões de fazer com que a consulta
fortemente tipado uma construção de linguagem de Primeiro classe.


&nbsp;&nbsp;&nbsp;&nbsp; Sistema autônomo uma linguagem orientada a
objeto, C# suporta sistema autônomo conceitos de encapsulamento, herança e
polimorfismo. Todas as variáveis e métodos, incluindo o Mainmétodo, o ponto de
entrada do aplicativo, são encapsulados em definições de classe. Uma classe
pode herdar diretamente de uma classe pai, mas ela pode implementar qualquer
número de interfaces. Métodos que substituem métodos virtual em uma classe pai
exigem ooverride palavra-chave sistema autônomo uma maneira de evitar
redefinição acidental. No C#, uma estrutura é como uma classe simplificada; ele
é um tipo alocado na pilha que pode implementar interfaces mas não tem suporte
a herança.


&nbsp;&nbsp;&nbsp;&nbsp; Em adição a esses princípios básicos e
orientada a objeto, C# facilita a desenvolver componentes de software por meio
de diversas construções de linguagem inovadora, incluindo o seguinte:


·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Assinaturas de métodos encapsulados chamadas de
Delega de , que permitem Notificações de Evento de fortemente tipado.


·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Propriedades, que servem como accessadores de
variáveis membros privadas.


·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Atributos, que fornecem metadados declarativos
sobre tipos no tempo de execução.


·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Comentários internos da documentação XML.


·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
LINQ (consulta integrada à linguagem) que fornece
recursos de consulta integrada Horizontal uma variedade de fontes de dados.


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Se você tiver que interagir com outros
softwares do Janelas, sistema autônomo objetos COM ou DLLs Nativo Win32, você
pode fazer isso no C# por meio de um processo denominado “Interoperabilidade”.
Interoperabilidade permite que programas C# façam praticamente tudo o que pode
ser feito por um aplicativo C++ nativo. C# ainda suporta ponteiros e o conceito
de código “inseguro” nos casos em que o acesso direto à memória é absolutamente
essencial.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; O processo de compilação C# é simples
comparado ao C e C++ e mais flexível do que em Java. Não há nenhum arquivo
cabeçalho separado, e nenhum requisito de que métodos e tipos sejam declarados
em uma ordem específica. Um arquivo fonte C# pode definir qualquer número de
classes, estruturas, interfaces, e eventos.


Estes são
recursos adicionais do C#:


·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Para uma mercadoria introdução geral à linguagem. 


·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Para obter Informação Detalhado sobre aspectos
específicos da linguagem C#.


·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Para obter mais informações sobre o LINQ.


·&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Para Encontrar os artigos mais recentes e a recursos
da equipe do Visual C#.




Bibliotecas de códigos


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ao contrário das outras linguagens
de programação, nenhuma implementação de C# atualmente inclui qualquer conjunto
de bibliotecas de classes ou funções. Ao invés disso, C# está muito vinculada
ao framework .Net, do qual C# obtém suas classes ou funções de execução. O
código é organizado em um conjunto de namespaces que agrupam as classes com
funções similares. Por exemplo: System.Drawing para gráficos,
System.Collections para estrutura de dados e System.Windows.Forms para o
sistema Windows Form.

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Um nível de organização superior é
fornecido pelo conceito de montador (assembly). Um montador pode ser um simples
arquivo ou múltiplos arquivos ligados juntos (como em al.exe) que podem conter
muitos namespaces ou objetos. Programas que precisam de classes para realizar
uma função em particular podem se referenciar a montadores como
System.Drawing.dll e System.Windows.Forms.dll assim como a biblioteca core
(conhecida como mscorlib.dll na implementação da Microsoft).



O código acima escreve o texto Olá mundo! na console. Agora vamos examiná-lo
linha por linha:


1: public class ClasseExemplo



Esta linha define a classe ClasseExemplo como pública (public), ou seja,
objetos em outros projetos podem utilizar esta classe livremente.


3: public static void Main()

Este é o ponto de entrada do programa quando executado a partir da console.
Este método também pode ser chamado de outro código utilizando-se a sintaxe
ClasseExemplo.Main(). A definição public static void indica que o método Main é
público (public), que pode ser acessado diretamente através da classe (static)
e que não retorna nenhum valor (void).


5: System.Console.WriteLine("Olá
mundo!");

Esta linha escreve a mensagem na console. Console é um objeto do sistema que
representa a linha de comando, e através da qual o programa pode obter e
mostrar texto. O método WriteLine (EscreverLinha) de Console é executado,
acarretando que o literal passado como parâmetro seja mostrado na console.