Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Introdução à linguagem C# e ao Framework .NET

C# é uma linguagem elegante e de tipos protegidos, orientada a objeto e que permite aos desenvolvedores construírem uma variedade de aplicações seguras e robustas, compatíveis com o .NET Framework. Você pode usar o C# para criar aplicações tradicionais do Windows, Web services baseados em XML, componentes distribuídos, aplicativos cliente-servidor, aplicativos com banco de dados e muito, muito mais. O Visual C# 2008 oferece um avançado editor de código, uma interface de usuário conveniente, depurador integrado e muitas outras ferramentas para facilitar o desenvolvimento de aplicativos baseados na versão 3.0 da linguagem C# e na versão 3.5 do .NET Framework.

ObservaçãoObservação:

A documentação do Visual c# pressupõe que você tenha uma compreensão de conceitos básicos de programação. Se você é um novato completo, talvez você queira explorar o Visual C# Express Edition, que está disponível na Web. Você também pode tirar proveito de livros e recursos da Web sobre C# para aprender as práticas de programação.

A sintaxe do C# é altamente expressiva, mas ela também é simples e fácil de aprender. A sintaxe do C# será instantaneamente reconhecida por qualquer pessoa familiarizada com C, C++ ou Java. Os desenvolvedores que sabem qualquer uma dessas linguagens são geralmente capazes de começar a trabalhar de forma produtiva com C# dentro de um tempo muito curto. A sintaxe do C# simplifica muitas das complexidades do C++ e fornece recursos poderosos, como tipos de valor nulo, enumerações, delegações, expressões lambda e acesso direto a memória, que não são encontrados no Java. O C# suporta métodos e tipos genéricos, que fornecem uma melhor segurança de tipo e desempenho, e iteradores, que permitem implementadores de coleções de classes para definir comportamentos de iteração personalizados  que são simples de usar pelo código cliente. No C # 3.0, a expressões Language-Integrated Query (LINQ) tornam as consultas fortemente tipadas um recurso de primeira classe.

Como uma linguagem orientada à objetos, o C# suporta os conceitos de encapsulamento, herança e polimorfismo. Todas as variáveis e métodos, incluindo o método principal (Main), o ponto de execução de uma aplicação, são encapsuladas em definições de classes. Uma classe derivada pode herdar diretamente somente de uma classe pai, mas pode herdar de qualquer quantidade de interfaces. Métodos da classe derivada que substituem métodos virtuais de uma classe pai exigem a utilização da palavra-chave override como forma de evitar a redefinição acidental. Em C#, uma struct é como uma classe simplificada; é um tipo alocado em pilha que pode implementar interfaces mas não suporta herança.

Além destes princípios básicos da programação orientada à objetos, o C# faz com que seja fácil desenvolver software através de vários componentes inovadores da linguagem, incluindo os seguintes:

  • Assinaturas de métodos encapsuladas chamadas delegates, que permitem uma notificação de eventos de tipo seguro.

  • Propriedades, que servem como acessadores para variáveis de membro privado.

  • Atributos, que fornecem metadados declarativos sobre tipos em tempo de execução.

  • Comentários XML in-line para documentação.

  • LINQ (consulta integrada à linguagem) que fornece recursos de consulta interna em uma grande variedade de fontes de dados.

Se você tiver que interagir com outros softwares Windows como objetos COM ou DLLs Win32 nativas, você pode fazer isso em C# através de um processo chamado "Interop". O Interop permite aos programas C# fazer quase tudo que uma aplicação nativa C++ pode fazer. O C# suporta ponteiros e o conceito de código inseguro para esses casos em que acesso direto à memória é absolutamente crítico.

O processo de compilação do C# é simples comparado com C++ e mais flexível que em Java. Não há arquivos de cabeçalho separados, e não há a necessidade de que métodos e tipos sejam declarados em uma ordem específica. Um arquivo de código em C# pode definir qualquer número de classes, estruturas, interfaces e eventos.

Os seguintes são recursos adicionais do C#:

Programas escritos em C# são executados no .NET Framework, um componente do Windows que inclui um sistema de execução virtual chamado Common Language Runtime (CLR) e um conjunto unificado de bibliotecas de classes. O CLR é a implementação comercial da Microsoft da infraestrutura de linguagem comum (CLI), um padrão internacional que é a base para a criação e execução de ambientes de desenvolvimento em que as linguagens e as bibliotecas trabalham juntos sem problemas.

O código-fonte escrito em C# é compilado em uma linguagem intermediária (IL) que está em conformidade com a especificação CLI. O código IL e recursos, como bitmaps e strings, são armazenados no disco em um arquivo executável chamado de um assembly, normalmente com uma extensão .exe ou .dll. Um assembly contém um manifesto que fornece informações sobre os tipos do assembly, versão, cultura e requisitos de segurança.

Quando o programa C# é executado, o assembly é carregado para o CLR, que pode tomar várias ações com base nas informações do manifesto. Então, se os requisitos de segurança são aprovados, o CLR executa a compilação just in time (JIT) para converter o código IL em instruções de máquina. O CLR também oferece outros serviços relacionados à coleta de lixo automática, tratamento de exceções e gerenciamento de recursos. Código que é executado pelo CLR é muitas vezes referido como "código gerenciado", em contraste com o "código não-gerenciado", que é compilado em linguagem de máquina nativa e que foca um sistema específico. O diagrama a seguir ilustra as relações entre o tempo de compilação e de execução de arquivos de código-fonte C#, bibliotecas do NET Framework, assemblies e o CLR.

De código-fonte C# para execução em máquina

A interoperabilidade entre linguagens é um elemento chave do .NET Framework. Como o código IL produzido pelo compilador C# está de acordo com o Common Type Specification (CTS), o código IL gerado a partir do C# pode interagir com código que foi gerado das versões .NET do Visual Basic, Visual C++, Visual J #, ou qualquer um das mais de 20 linguagens compatíveis com o CTS. Um único assembly pode conter vários módulos escritos em diferentes linguagens .NET, e os tipos podem referenciar uns aos outros como se eles tivessem sido escritos na mesma linguagem.

Como adicional aos serviços de execução, o .NET Framework também inclui uma extensa biblioteca de mais de 4000 classes organizadas em namespaces que oferecem uma grande variedade de funcionalidades úteis para tudo, desde manipulação de arquivos, manipulação de strings, manipulação de arquivos XML até utilização de controles Windows Forms. Uma típica aplicação C# utiliza a biblioteca de classes do .NET Framework extensivamente para lidar com o comum "trabalho braçal".

Para obter mais informações sobre o .NET Framrwork, consulte Visão geral sobre o .NET Framework.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft