Estrutura da Linguagem C#

A Seguinte imagem nos dá uma noção de como é a estrutura da linguagem C#.

Por padrão o Visual Studio já nos traz um código, no início do aprendizado é muito importante ter ao menos noção do código que é gerado. 

Em 1 temos as Classes Externas, ou namespaces, que são as bibliotecas do .NET Framework, estas são adicionadas automaticamente quando criamos o projeto, estas são classes básicas e necessárias para que a aplicação funcione corretamente. Cada instrução da linguagem utilizada no programa contém a definição para o compilador por meio dessas classes básicas. 

Em 2 temos o Nome do Projeto, quando criamos o projeto, ele vai possuir um diretório com todos os arquivos e subdiretórios.

Em 3 é definido o Nome da Classe, ela pode ser alterada a qualquer momento. Note que o nome da classe é Form1 seguido por dois pontos e a palavra reservada Form, isso faz parte de herança, que será discutido futuramente, mas como pequena antecipação a classe Form1 herda características da classe Form, não se preocupe pois veremos mais adiante.

Em 4 temos o Método Construtor, mais tarde falaremos sobre esse método que é muito importante.

Em 5, temos o InitializeComponent, é uma função padrão de todos os formulários que serve para inicia-los, ou seja, desenhá-los.

Segue as definições dos namespaces inicialmente gerados pelo VS2013, definições retiradas do site da Microsoft (para quem é iniciante talvez fique desconfortável com as definições a seguir, mas vale a pena ler para ter ao menos uma noção nesse primeiro momento):

System

O namespace System contém classes fundamentais e classes base que definem os tipos de dados de referência e valor comumente usados, eventos e manipuladores de eventos, interfaces, atributos e exceções de proc essamento.

System.Collections.Generic

O namespace contém interfaces e classes que definem coleções genéricas, que permitem que os usuários criem coleções fortemente tipadas que fornecem melhor segurança de tipo e desempenho do que coleções fortemente tipadas não-genéricas.

System.ComponentModel

O namespace System.ComponentModel fornece classes que são usadas para implementar o comportamento de componentes e controles em tempo de execução e em tempo de design. Este namespace inclui as classes e interfaces base para implementar atributos e conversores de tipo, ligar fontes de dados, e licenciar componentes.

System.Data

O namespace System.Data fornece acesso a classes que representam a arquitetura do ADO.NET. O ADO.NET permite que você construa componentes que são eficientes no gerenciamento de dados de várias fontes de dados.

System.Drawing

O namespace pai do System.Drawing contêm tipos que oferecem suporte à funcionalidade gráficas básicas do GDI+. Os namespaces filhos oferecem suporte a avançados recursos bidimensionais e gráficos vetoriais, de imagem e serviços tipográficos e relacionados à impressão. Um namespace filho também contém tipos que ampliam o desenho e a lógica da interface de usuário em tempo de design.

System.Linq

Os namespaces do System.Linq contêm tipos que oferecem suporte a consultas que usam consulta integrada à linguagem (LINQ). Isso inclui tipos que representam consultas como objetos em árvores de expressão.

System.Text

Os namespaces do System.Text contêm tipos para codificação de caracteres e manipulação de cadeias de caracteres. Um namespace filho permite a você processar texto usando expressões regulares.

System.Threading

Os namespaces do System.Threading contêm tipos que permitem a programação multithreaded. Um namespace filho fornece tipos que simplificam o trabalho de gravar código simultâneo e assíncrono.

System.Windows.Forms

O namespace System.Windows.Forms contém classes para criar aplicativos baseados no Windows que tiram total proveito de recursos sofisticados de interface de usuário disponíveis no sistema operacional Windows da Microsoft.