Estrutura de um programa
Um programa C# é composto por classes e seus métodos. Mas podem estar presentes também estruturas, enumerações etc.
Exemplo:
(1)using System; (2)namespace Aula1 (3){ (4) class Program (5) { (6) static void Main(string[] args) (7) { (8) Console.WriteLine("Hello World!"); (9) } (10) } (11)}
Linha | Descrição |
1 | Utililização do namespace System; |
2 | namespace da nossa aplicação |
3 | indica o inicio do conteúdo do namespaceAula1 |
4 | declaração de classe, no caso a classeAula1 |
5
indica o inicio da classeAula1
6
Main(), método obrigatório, em que a execução do programa é iniciada e terminada. Main() deve ser um método static e estar em uma classe ou estrutura.
7
indica o inicio do métodoMain()
8
Exibe o string Hello World!, com salto de linha, na saída-padrão, utilizando o método WriteLine da classe console
9
indica o final do métodoMain()
10
indica o final da classeProgram
11
indica o final do namespaceAula1
Compilação e execução de programas
Programas escritos em C# são digitados em um editor de texto ou no IDE do Visual Studio. Compilação e execução podem ser feitas no IDE ou por linha de comando. A extensão de programas-fontes é .cs e o compilador é o programa csc.exe. Para usar a linha de comando basta procurar em seu Visual Studio o menu tools, em seguida selecionar command line, e Developer Command PromptPara compilar via linha de comando , base digitar o seguinte comando:
csc Program.cs
Será criado o Program.exe
Indentificadores
São nomes atribuídos pelo programador a variáveis, métodos etc.
Devem obedecer às seguintes regras:
- Caracteres permitidos: alfabéticos maiúsculos e minúsculos, numéricos e o _ (underline).
- O primeiro caractere não poder ser numérico.
- Não pode ser uma palavra reservada do C#. Mas se essa palavra reservada for iniciada por "@", poderá ser usada como identificador.
Variáveis
Refere-se a uma posição de memória onde um valor é armazenado, com possibilidade de alteração. Toda variável tem nome e tipo e precisa ser declarada antes de ser utilizada.
Exemplos:
int i; // variável não inicializada
int j = 99; // variavel inicializada
float saldo, valor, taxa; // variaveis do mesmo tipo separadas por ","
decimal desconto = 900, iof; // variaveis do mesmo tipo apenas uma inicializada
int total = 10 + 20; // variavel inicializada com o valor de uma expressão
int j = 99; // variavel inicializada
float saldo, valor, taxa; // variaveis do mesmo tipo separadas por ","
decimal desconto = 900, iof; // variaveis do mesmo tipo apenas uma inicializada
int total = 10 + 20; // variavel inicializada com o valor de uma expressão
Escopo e existência de variáveis
Variáveis podem ser declaradas em qualquer bloco. Um bloco define um escopo. Um escopo determina quais objetos podem ser visíveis para outras partes de um programa e também a existência destes objetos. No escopo de um método, está incluso os seus argumentos, caso existam.Como regra geral, variáveis declaradas em um escopo não são acessíveis fora deste escopo. Os escopos podem ser aninhados (escopos dentro de outros escopos). Neste caso , o escopo externo é engloba todos os outros que está dentro dele. Quando um bloco de código é iniciado, as suas variáveis são criadas (ocorre alocação de memória), quando o bloco termina, as variáveis deixam de existir (a memória alocado é liberada pelo garbage collector).
public class Escopo { void Execute() { int varA; // no escopo do metodo Execute() varA = 20; Console.Clear(); if (varA == 20) { int varB = 30; // somente no escopo do "if" Console.WriteLine($"varA :{varA}"); //20 Console.WriteLine($"varB: {varB}"); //30 } //varB = 40; //daria erro por estar fora do escopo } }
Case sensitivity
O C# distingue caracteres alfabéticos maiúsculos do minúsculos, inclusive em relação aos seus comandos. Assim, as variáveis "VALOR" e "valor" são diferentes.
Comentários
Servem para documentar o programa, sendo ignorados pelo compilador. Há dois tipos de comentários.
// = comentários para linha única, pode ser utilizado em uma linha de comando também.
/* */ = comentários multilinha.
Bom pessoal vou ficar por aqui na aula 2 falaremos de tipos de dados em C#. Até lá e bons estudos.
Conteúdo do curso em meu Github
https://github.com/jonesroberto/curso_csharp
0 Comentários