C# caracteristicas
8.1 – Principais características do C#
Prosseguindo com os estudos de LOTAR (2007). Sendo a linguagem que, de certa forma, mais identifica a plataforma .Net é também a mais usada pelos desenvolvedores da tecnologia. O C# esta de tão ligado a plataforma, que não existe o conceito de código não-gerenciado (unmanaged code), suas estruturas de dados primários são objetos correspondentes ao do framework, além de classes, interfaces, exceções e outras características que entram na mesma definição.
Melhorada em comparação ao C e C++ e como a plataforma totalmente voltada ao paradigma da orientação a objetos, tirando o trabalho mais complexo do programador. Ponteiros e aritmética sem checagem só podem ser utilizados em uma modalidade especial denominada modo inseguro, ou unsafe mode, de normal objetos são referenciados de maneira segura e operações aritmética são checadas contra sobrecarga (overflow), liberação de objetos por coleta de lixo (garbage collector) quando não há mais referência ao mesmo, não é permitida a múltipla herança de classes, mas se pode implementar diversas classes abstratas.
Segurança quanto às conversões de tipos, permitindo apenas os tipos seguros como ampliação de inteiros e conversões de tipos derivados para tipos base são feitas de 21 forma implícitas, para os outros tipos é preciso que o programador explicitamente as marque.
Muito comparada ao Java, vale lembrar que as cada uma tem suas peculiaridades que podem confundir o desenvolvedor, como por exemplo, C# implementa propriedades, possui o goto como estrutura de controle, XML para gerar documentação, indexadores e a mais marcante C# pode apenas ser compilado para a plataforma Windows.
8.2 – Estrutura geral da linguagem
Programas C# podem consistir de um ou mais arquivos. Cada arquivo pode não conter namespaces, ou conter vários. Namespaces podem conter tipos, como classes, estruturas, interfaces, enumerações, e representantes (delegates), além de outros espaços. A seguir