You are on page 1of 4

C# - Estudo sobre essa Linguagem de Programação

:

C♯, também escrito como C# ou C Sharp (em português lê-se "cê charp"), é uma linguagem de programação orientada a objetos, fortemente tipada, desenvolvida pela Microsoft como parte da plataforma .NET. A sua sintaxe orientada a objetos foi baseada no C++ mas inclui muitas influências de outras linguagens de programação, como Object Pascal e Java. História Durante o desenvolvimento da plataforma .NET, as bibliotecas foram escritas originalmente numa linguagem chamada Simple Managed C (SMC), que tinha um compilador próprio. Mas, em Janeiro de 1999, uma equipe de desenvolvimento foi formada por Anders Hejlsberg, que fora escolhido pela Microsoft para desenvolver a linguagem. Dá-se inicio à criação da linguagem chamada Cool. Um pouco mais tarde, em 2000, o projeto .NET era apresentado ao público na Professional Developers Conference (PDC), e a linguagem Cool fora renomeada e apresentada como C#. A criação da linguagem, embora tenha sido feita por vários programadores, é atribuída principalmente a Anders, hoje um Distinguished Engineer na Microsoft. Ele fora o arquiteto de alguns compiladores da Borland, e entre suas criações mais conhecidas estão o Turbo Pascal e o Delphi. A Microsoft submeteu o C# à ECMA para uma padronização formal. Em Dezembro de 2001 a associação liberou a especificação ECMA-334 Especificação da Linguagem

cada classe só pode herdar apenas uma outra classe e não mais do que uma. um erro comum que pode levar ao término não desejado do programa em execução por esgotamento da memória livre. e "operam" os valores das variáveis. métodos. A Microsoft anunciou planos de adicionar o suporte a tipos parciais.NET. Com este recurso. um processo usado para a manutenção de memória. e o BDS 2008. e desempenho. As classes genéricas podem ser utilizadas para permitir acesso . classes. que é obrigatório. Através da herança reduz-se o código através da sua reutilização. uma alusão à continuação do C++. implementação open source da Novell. é usado o símbolo sustenido.[6] Entretanto. é possível recuperar a zona de memória que um programa já não utiliza. e blocos de códigos que o usam geralmente requisitam permissões mais altas de segurança para poderem ser executados. Pode criar as suas próprias interfaces genéricas. como em propagandas e capas de livros. Nela podem se usar tipos genéricos para a maximização da reutilização de código. generics e outras características. Um coletor de lixo também é suportado. A padronização pela ECMA/ISO destas características foi solicitada. dando a impressão de ++++. C# também suporta as operações aritméticas básicas como adição.[7] Características A linguagem suporta ponteiros através da palavra reservada unsafe (código nãoseguro).[4] Porém. devido a limitações técnicas (fontes padrões. Em 2003 tornou-se um padrão ISO (ISO/IEC 23270). implementações da Free Software Foundation. segurança de tipo. A utilização mais frequente é para a criação de classes.C#. Seu uso não é aconselhável. mas ainda não são parte da versão padrão da linguagem. em determinados lugares. navegadores. no entanto é possível simular herança múltipla utilizando interfaces. subtracção. Os gabaritos não são suportados. Esses símbolos são chamados operadores. Entretanto. Há algumas implementações em desenvolvimento.[5] Essa convenção é refletida no ECMA-334 C# Language Specification. o # de C# se refere ao sinal musical sustenido (♯). Quando isto não ocorre pode acontecer a chamada perda de memória. a especificação técnica da linguagem. Etimologia Pensava-se que o nome C# viria duma sobreposição de quatro símbolos +. o dotGNU e o Portable. destacando-se a Mono. multiplicação e divisão. etc) e o fato do símbolo do sustenido (♯) não estar presente nos teclados. Em C# não existe herança múltipla. que aumenta em meio tom uma nota musical. As operações aritméticas são verificadas contra transbordamento de dados. ou seja. implementação da CodeGear. o cerquilha (#) foi escolhido para ser usado no nome escrito. eventos e delegates. pronunciado sharp em inglês. mas a linguagem possui um suporte abrangente a generics.

Isso significa que as alterações que ocorrem nas variáveis passadas por cópia dentro do método não se refletem fora dele. Mundo!"). } } } Bibliotecas Ao contrário das outras linguagens de programação.NET. por referência e por saída.Forms contém o sistema Windows Forms. Na passagem por valor é feita uma cópia do argumento da chamada do método para o parâmetro do mesmo. Para se forçar a passagem por referência. Mundo!": using System. retornando o resultado para o método que o chamou. nenhuma implementação de C# actualmente inclui qualquer conjunto de bibliotecas de classes ou funções. da qual obtém as suas classes ou funções de execução. esta linguagem está muito vinculada à plataforma . System.WriteLine("Olá. System. de forma a somente editá-lo. que exibe a frase "Olá. por valor. Na passagem por referência toda alteração feita na variável passada por referência dentro do método alterará também seu valor fora dele.aos métodos usando tipos de dados específicos. A segunda é usada para se inicializar um parâmetro durante a execução do método. Um nível de organização superior é fornecido pelo conceito de montador.Windows. Passagem de parâmetros Há três tipos de passagem de parâmetros em C#. Por padrão todo objeto e vetor são passados por referência e toda estrutura e variáveis primitivas são passadas por valor. o programa teste Olá Mundo. Informações sobre os tipos usados em um tipo de dados genérico podem ser obtidas em tempo de execução por meio de reflexão.Console é usado para entrada/saída de dados. Mesmo assim. abaixo. Exemplos de código Segue. tanto a chamada do método como a declaração dele devem estar com os argumentos e parâmetros precedidos pelas palavras reservadas ou ref ou out. que pode ser um simples arquivo ou múltiplos arquivos ligados juntos que podem conter muitos . Por exemplo. A primeira é usada para se manipular um parâmetro já inicializado antes da chamada do método. namespace Teste { class OlaMundo { static void Main() { Console. O código é organizado num conjunto de espaços de nomes que agrupam as classes com funções semelhantes.

Além disso.Forms.espaços de nomes ou objetos. tanto para uso interno e para consumo externo. Programas que precisam de classes para realizar uma função em particular podem se referenciar aos montadores como System.dll na implementação da Microsoft).dll assim como a biblioteca core (conhecida como mscorlib. Devido à natureza fechada do C# com uma instituição comercial. Política Muitos dos produtos e iniciativas da Microsoft geram polêmica no campo político e a criação e desenho da C# não foi exceção. Ao contrário de linguagens proprietárias tal como a Visual Basic. No entanto.Windows.Drawing.NET. Alguns peritos em segurança se encontram cépticos em relação à eficácia do mecanismo de segurança do CLR e criticam a sua complexidade. a Microsoft tornou bem claro que a C#. as suas semelhanças com Java. a empresa continua a ser a principal força a induzir mudanças e inovação na linguagem. A Microsoft leva a cabo um papel activo em publicitar a linguagem como uma componente da sua estratégia global de negócios. é uma parte importante da sua estratégia de software.dll e System. a discussão política continua em relação à legitimidade da sua normalização. . o seu futuro como uma linguagem de uso geral e outros assuntos. tal como outras linguagens . a Microsoft optou por submeter a C# a um processo de normalização.