Pesquisa · Mapa mental

C Sharp

C# é uma linguagem de programação multiparadigma, de tipagem forte, desenvolvida pela Microsoft como parte da plataforma .NET. Sua sintaxe orientada a objetos, inspirada em C++ e Java, compila o código para Common Intermediate Language (CIL), que é interpretado pela máquina virtual Common Language Runtime (CLR). Inicialmente desenvolvida para o .NET Framework de código fechado, C# evoluiu para se tornar uma linguagem robusta, escalável e acessível em diversos dispositivos.

Fonte: Wikipédia (pt)Texto didático por IAAtualizado em 30/06/2026

Pontos-chave

  • C# é uma linguagem de programação multiparadigma e de tipagem forte, criada pela Microsoft para a plataforma .NET.
  • Seu código é compilado para CIL e executado pela CLR, permitindo a execução em diferentes dispositivos.
  • A linguagem evoluiu de uma necessidade de software acessível e disponível em múltiplos dispositivos.
  • C# combina características de C++, Java e Object Pascal, adicionando funcionalidades próprias.
  • A padronização da linguagem C# e do CLI pela ECMA e ISO garante sua evolução e acessibilidade.
01

Objetivos do Projeto C#

Imagem: Rettinghaus · BY · Openverse

A norma ECMA detalha os objetivos de design para a linguagem C#.

02

História da Linguagem C#

C# surgiu como parte da plataforma .NET, visando ser uma linguagem simples, robusta, orientada a objetos e escalável para rodar em diversos dispositivos. A necessidade de software acessível e compatível impulsionou a iniciativa .NET e a criação de C#. Originalmente chamada Cool, a linguagem foi apresentada ao público como C# em 2000.

Etimologia do Nome C#

O nome "C#" utiliza o símbolo de sustenido musical (♯), que eleva uma nota em meio tom. Devido a limitações técnicas e de teclado, o cerquilha (#) foi adotado na escrita, conforme especificado na norma ECMA-334. Em contextos visuais como propagandas, o símbolo de sustenido pode ser utilizado.

Evolução das Versões

Características em processo de desenvolvimento.

03

Características da Linguagem

Imagem: Rettinghaus · BY · Openverse

C# é uma linguagem visual, orientada a eventos e totalmente orientada a objetos, que promove a interoperabilidade entre linguagens e a integração com a internet via padrões como SOAP e XML. Com raízes em C, C++ e Java, C# oferece recursos essenciais para programadores, incluindo orientação a objetos, manipulação de strings, gráficos, interfaces gráficas (GUI), tratamento de exceções, multithreading, multimídia, processamento de arquivos, estruturas de dados, bancos de dados, redes e computação distribuída.

Principais Características

Dentre as características essenciais do C# podemos citar:

Sintaxe Semelhante a C/C++/Java

A sintaxe da linguagem C# é semelhante à de outras linguagens de estilo C, como C, C++ e Java. Em particular:

Orientação a Objeto e Herança

A herança, um pilar da programação orientada a objetos, permite a reutilização de código ao criar classes baseadas em classes existentes. Em C#, uma classe derivada herda dados e comportamentos da classe base, podendo ser aprimorada com novos recursos. Diferente de C++, C# não suporta herança múltipla, permitindo que uma classe derive de apenas uma classe base direta.

Suporte à Programação Funcional

Embora primariamente imperativa, C# oferece suporte à programação funcional desde a versão 2.0 com delegados anônimos. A partir do C# 3.0, com a introdução de expressões lambda, métodos de extensão e compreensões de consulta, o suporte foi expandido. Versões posteriores, como C# 7, adicionaram conceitos como records, pattern matching e tuplas.

Sistema de Tipos Unificado (CTS)

C# utiliza um sistema de tipos unificado chamado Common Type System (CTS), onde todos os tipos, incluindo primitivos, derivam de System.Object. Isso garante que todos os tipos herdem métodos como ToString(). O CTS divide os tipos em tipos de valor e tipos de referência. Tipos de valor comparam seus dados reais e são sempre criáveis e copiáveis, sem identidade referencial. Eles derivam de System.ValueType e não podem herdar uns dos outros, embora possam implementar interfaces.

Classes e Estruturas

Em C#, a classe (class) é a unidade fundamental de programação, a partir da qual objetos são instanciados e métodos são encapsulados. Classes em C# podem implementar múltiplas interfaces, mas herdam de apenas um objeto pai, sendo tipos por referência. A linguagem também suporta estruturas (struct), que são tipos por valor. Classes estáticas permitem métodos que não operam em instâncias, assemelhando-se a funções normais.

04

Escrevendo um Programa em C#

Imagem: velvetLady · BY-ND · Openverse

Um programa em C# é composto por quatro elementos principais.

Exemplos de Código

Segue, abaixo, o programa teste Olá Mundo, que exibe a frase "Olá, Mundo!".

Compilação e Assemblies

O código-fonte de programas C# (.cs) é compilado em assemblies, que podem ser DLLs ou EXEs. Assemblies são a unidade básica para reutilização, versionamento, segurança e implantação no .NET, gerenciados pelo CLR.

05

Bibliotecas e Namespaces

Embora C# não inclua bibliotecas de classes nativas, sua forte ligação com a plataforma .NET fornece acesso a classes e funções de execução. O código é organizado em namespaces, que agrupam classes com funcionalidades similares (ex: System.Windows.Forms, System.Console). Assemblies, como System.Drawing.dll e mscorlib.dll, reúnem namespaces e objetos, servindo como unidades de organização superiores.

Gerenciamento de Coleções

Coleções em C# gerenciam grupos de objetos semelhantes internamente, diferindo de arrays que exigem gerenciamento manual de tamanho. O namespace Collections.Generic oferece coleções predefinidas e estruturas de dados como pilhas, listas e filas. Algumas classes membros incluem:

06

Padronização e Licenciamento

Imagem: Boston Public Library · BY-NC-ND · Openverse

Em 2001, C# e a Common Language Infrastructure (CLI) foram submetidos à Ecma International para padronização, resultando nas especificações ECMA-334 e ISO/IEC 23270. As atualizações subsequentes, como a edição 3 da especificação C#, introduziram recursos como classes parciais, métodos anônimos, tipos anuláveis e genéricos. A padronização garante proteção de licenciamento razoável e não discriminatória de patentes.

07

Implementações de C#

Imagem: DerrickT · BY · Openverse

O compilador de referência é o Microsoft Visual C#, de código aberto. A Microsoft lidera o desenvolvimento de um novo compilador e conjunto de ferramentas open-source, "Roslyn", escrito em C# e funcional como APIs para ferramentas de refatoração e diagnóstico. O projeto .NET Core é uma iniciativa multiplataforma aberta. Existem outros compiladores C# que implementam a CLI e bibliotecas .NET até a versão 2.0.

Vídeos recomendados

Fontes consultadas

Continue pesquisando