(CSharp) E uma linguagem deprogramacao orientada a objetos criada pela Microsoft, faz parte da suaplataforma .Net. A companhia baseou C# na linguagem C++ e Java.Historia A linguagem C# foi criada junto coma arquitetura .NET. Embora existam varias outras linguagens que suportam essatecnologia (como VB.NET, C++, J#), C# e considerada a linguagem simbolo do .NETpelas seguintes razoes:* Foi criada praticamente do zero para funcionar na nova plataforma, sempreocupacoes de compatibilidade com codigo de legado.* O compilador C# foi o primeiro a ser desenvolvido.* A maior parte das classes do .NET Framework foram desenvolvidas em C#.A criacao da linguagem, embora tenha sido feita por varios desenvolvedores, eatribuida principalmente a Anders Hejlsberg, hoje um Distinguished Engineer naMicrosoft. Anders Hejlsberg era desenvolvedor de compiladores na Borland, eentre suas criacoes mais conhecidas estao o Turbo Pascal e o Delphi. Introducaoao C# A sintaxe C# e altamente expressiva, mastambem e simples e facil de aprender. A sintaxe do C# utilizando chaves comomarcador de blocos sera instantaneamente reconhecivel para qualquer pessoafamiliarizada com C, C++ ou Java. Os desenvolvedores que conhecem qualquer umadessas linguagens sao geralmente capazes de comecar a trabalhar produtivamenteem C# dentro de um Hora muito Abreviado. A sintaxe C# simplifica muitos dascomplexidades de C++ e fornece recursos poderosos sistema autonomo tipo devalor anulavel, enumeracoes, Delega, expressoes lambda e acesso direto amemoria, que nao se encontram em Java. C# oferece suporte a metodos genericos etipos, que fornecem maior seguranca de tipos e desempenho e iteradores, queHabilitar implementadores das classes de colecao para definir comportamentospersonalizados da iteracao que sao simples para usar pelo codigo do cliente. LINQ(consulta integrada a linguagem)expressoes de fazer com que a consultafortemente tipado uma construcao de linguagem de Primeiro classe. Sistema autonomo uma linguagem orientada aobjeto, C# suporta sistema autonomo conceitos de encapsulamento, heranca epolimorfismo. Todas as variaveis e metodos, incluindo o Mainmetodo, o ponto deentrada do aplicativo, sao encapsulados em definicoes de classe. Uma classepode herdar diretamente de uma classe pai, mas ela pode implementar qualquernumero de interfaces. Metodos que substituem metodos virtual em uma classe paiexigem ooverride palavra-chave sistema autonomo uma maneira de evitarredefinicao acidental. No C#, uma estrutura e como uma classe simplificada; elee um tipo alocado na pilha que pode implementar interfaces mas nao tem suportea heranca. Em adicao a esses principios basicos eorientada a objeto, C# facilita a desenvolver componentes de software por meiode diversas construcoes de linguagem inovadora, incluindo o seguinte: Assinaturas de metodos encapsulados chamadas deDelega de , que permitem Notificacoes de Evento de fortemente tipado. Propriedades, que servem como accessadores devariaveis membros privadas. Atributos, que fornecem metadados declarativossobre tipos no tempo de execucao. Comentarios internos da documentacao XML. LINQ (consulta integrada a linguagem) que fornecerecursos de consulta integrada Horizontal uma variedade de fontes de dados. Se voce tiver que interagir com outrossoftwares do Janelas, sistema autonomo objetos COM ou DLLs Nativo Win32, vocepode fazer isso no C# por meio de um processo denominado Interoperabilidade.Interoperabilidade permite que programas C# facam praticamente tudo o que podeser feito por um aplicativo C++ nativo. C# ainda suporta ponteiros e o conceitode codigo inseguro nos casos em que o acesso direto a