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

C# é uma linguagem orientada a objeto elegante e com segurança que permite aos desenvolvedores criar uma variedade de aplicativos seguros e robustos que executam em .NET Framework.Você pode usar C# para criar muito mais aplicativos cliente tradicionais do Windows, XML Web services, componentes distribuídos, aplicativos do cliente, aplicativos de banco de dados, e, muito.Visual basic fornece um editor de códigos avançado, designer de interface do usuário conveniente, depurador integrado, e muitas outras ferramentas facilitaram para desenvolver aplicativos baseados na versão 4,0 de linguagem C# e na versão 4,0 de .NET Framework.

ObservaçãoObservação

A documentação de Visual C# presume que você tenha uma compreensão dos conceitos de programação básica.Se você for um novato completo, você pode querer explorar Visual C# Express, que está disponível na Web.Você também pode tirar proveito de livros e recursos da Web para aprender sobre C# habilidades prática de programação.

Linguagem C#

A sintaxe de C# é altamente completo expressive, mas também é simples e fácil de aprender.A sintaxe de encaracolado- chave C# será imediatamente reconhecível para qualquer pessoa familiarizado com C, o C++ ou o Java.Os desenvolvedores que conhecem qualquer um de linguagens podem tipicamente começar a trabalhar produtiva muito em C# em um curto período de tempo.A sintaxe de C# simplifica muitas das complexidades de C++ e fornece recursos avançados como os tipos de valor anulável, enumerações, representantes, expressões lambda e o acesso direto à memória, que não são encontrados em Java.C# suporta os métodos genéricos e tipos, que fornecem segurança e desempenho gerados de tipo, e iteradores, que permitem implementadores de classes de coleção para definir os comportamentos personalizados de iteração que são simples de usar o código do cliente.as expressões deLINQ (Consulta Integrada à Linguagem) tornam a consulta fortemente tipada uma construção de linguagem de primeira classe.

Como uma linguagem orientado a objeto, C# suporta os conceitos do encapsulamento, herança, e o polimorfismo.Todas as variáveis e métodos, incluindo o método de Main , o ponto de entrada do aplicativo, são encapsulados nas definições de classe.Uma classe pode herdar direta de uma classe pai, mas pode implementar qualquer número de interfaces.Os métodos que substituem métodos virtuais em uma classe pai requerem a palavra-chave de override como uma maneira para evitar a redefinição acidentais.Em C#, um estrutura é como uma classe leve; é um tipo pilha atribuído que pode implementar interfaces mas não oferece suporte a herança.

Além desses princípios básicos orientados a objeto, C# torna fácil desenvolver componentes de software através de várias construções de linguagem inovativas, incluindo o seguinte:

  • As assinaturas de método encapsuladas chamaram os representantes, que permitem notificações de eventos com segurança.

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

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

  • In-line comentários de documentação XML.

  • LINQ (Consulta Integrada à Linguagem) que fornece recursos internos de consulta por uma variedade de fontes de dados.

Se você tiver que interagir com outro software do Windows como objetos COM ou DLL nativa Win32, você pode fazer isso em C# com um processo chamado “Interoperabilidade.” Interoperabilidade permite programas C# para fazer quase tudo que um aplicativo nativo de C++ pode fazer.Ponteiros de suporte C# e o mesmo conceito de código “não seguro” para esses casos em que o acesso direto à memória é absolutamente crítica.

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

Os seguintes são recursos adicionais de C#:

arquitetura da plataforma do .NET Framework

Os programas C# executam em .NET Framework, um componente integral do Windows que inclui um sistema virtual de execução chamado o common language runtime (CLR) e um conjunto unificado de bibliotecas de classes.O CLR é a implementação comercial pela Microsoft de infrastructure (CLI) common language runtime, um padrão internacional que é a base para criar a execução e ambientes de desenvolvimento em que os idiomas e bibliotecas funcionam juntos perfeitamente.

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

Quando o programa C# é executado, o assembly é carregado no CLR, que pode executar várias ações com base nas informações no manifesto.Então, se os requisitos de segurança são atendidos, o CLR apenas executa no tempo de compilação (JIT) para converter o IL codificação para instruções de máquina nativas.O CLR também fornece outros serviços relacionados à coleta de lixo automática, a manipulação de exceção, e o gerenciamento de recursos.O código que é executado pelo CLR as vezes é conhecido como “código gerenciado,” em contraste com “código não gerenciado” que é compilado na linguagem nativa que tem como alvo um determinado sistema.O diagrama a seguir ilustra as relações de tempo de execução e de tempo de compilação de arquivo de código-fonte C#, as bibliotecas de classes do.NET Framework, assemblies, e o CLR.

Do código-fonte C# para execução de máquina

Interoperabilidade de linguagem é um recurso chave de .NET Framework.Porque o IL código gerado pelo compilador C# estão de acordo com a especificação common type system (CTS) de tipo, o IL código gerado C# pode interagir com o código que foi gerado de versões .NET do Visual Basic, Visual C++, ou qualquer de mais de 20 outros idiomas CTS- compatíveis.Um único assembly pode conter vários módulos escritos em diferentes linguagens do .NET, e os tipos podem referenciar-se exatamente como se foram escritos na mesmo linguagem.

Além dos serviços de tempo de execução, .NET Framework também inclui uma biblioteca abrangentes sobre classes de 4000 organizadas nos namespaces que fornecem uma ampla variedade de funcionalidade útil para todos de entrada e saída de arquivo para manipulação de cadeia de caracteres para XML que análise, controles de formulários do Windows.O aplicativo típico de C# usa a biblioteca de classes de .NET Framework amplamente para manipular tarefas comuns de “encanamento”.

Para obter mais informações sobre do .NET Framework, consulte Overview of the Microsoft .NET Framework.

Capítulos caracterizados de livro

C# Language Fundamentals Em Learning C# 3.0: Master the fundamentals of C# 3.0

C# and .NET Programming Em Learning C# 3.0: Master the fundamentals of C# 3.0

Apresentando C# em Início Visual c# 2010

Visual Studio 2008 and C# Express 2008 Em Learning C# 3.0: Master the fundamentals of C# 3.0

Consulte também

Outros recursos

Visual C#

Tutoriais de Introdução