Você está na página 1de 19

Conceitos de C#

A linguagem de programação C# (lê-se C Sharp) surge como


uma evolução da linguagem "C" e destina-se a aplicações
utilizando o .NET Framework, utilizando os novos conceitos
de Orientação a Objetos (OO).
Introdução ao C#

• Linguagem baseada no C/C++


– com inspiração no Java
– preserva investimentos e conhecimentos
adquiridos
– permite um código mais “limpo”
– possui construções sintácticas especiais para
retirar partido da framework
• Tudo são objectos
• Ficheiros têm extensão .cs

2
Variáveis
Definição de variáveis
• Os tipos de variáveis mais utilizadas no desenvolvimento de
softwares são definidas como locais de armazenamento
temporário de diferentes tipos como: números, palavras,
datas e outros, que podem receber resultados de cálculos ou
entrada de dados pelo utilizador.

int a;
double area = 0;
int salario, imposto , soma;
int contador = 10;

string nome;
string nomeCompleto = "Little John";

3
Exemplos de Variáveis
As variáveis devem receber um nome único (dentro de um
escopo), para que seja usado como referência ao decorrer do
desenvolvimento e deve ter um nome curto e de fácil
memorização, não sendo recomendado utilizar variáveis com o
mesmo nome diferenciando-as somente por maiúsculas e
minúsculas.
• nomeCliente
• apelidoCliente
• idadeCliente

4
Tipos de dados
• Descrição dos tipos de dados:
int = Números inteiros (32 bits por padrão)
long = Números inteiros (64 bits por padrão)
float = Números de ponto flutuante (32 bits por padrão)
double = Números de ponto flutuante (63 bits por padrão)
decimal = Valores monetários (128 bits por padrão)
string = Para seqüências de caracteres (16 bits por caractere)
char = Para somente um caractere (16 bits)
bool = Valor booleano que pode ser (true) ou (false)

• Estes tipos são alias para os tipos definidos na framework


Por exemplo, int == System.Int32

5
Utilização de Variáveis
• int  intIdade = 10;

• bool  booFumante = false;

• decimal  decPagamento = 1000;

• double  dblComissão = 1.27;

• char  chrSexo = M;

• string  strNome = "Einstein";

6
Identificadores
• São símbolos que podem ser criados pelo programador para, por exemplo, identificar
uma variável, ou pré-definidos em bibliotecas padrão existentes.
• Exemplos: x, y, nome, ...
class Exemplo
{static void Main()
{int x, y;
float z;
x = 5;
y = 10;
z = (x+y)/2;
System.Console.WriteLine (“O resultado é {0}.”,z);
} }

7
Palavras reservadas
• São os símbolos da linguagem que têm um significado específico e que não
podem ser redefinidos pelo programador, isto é, não podem ser utilizados
para outras finalidades além das definidas na LP.
– Exemplos: Main, int, float,...
class Exemplo
{static void Main()
{int x, y;
float z;
x = 5;
y = 10;
z = (x+y)/2;
System.Console.WriteLine
(“O resultado é {0}.”,z);
} }

8
Constantes
• São valores de dados que são explicitados no texto
• de um programa.
• Exemplos:“1.o valor -“,“2.o valor“, 2...
class Exemplo
{static void Main()
{int x, y;
float z;
x = 5;
y = 10;
z = (x+y)/2;
System.Console.WriteLine(“O resultado é {0}.”,z);
} }

9
Classes e namespaces

• Organização do código dentro de classes

• Classes organizadas dentro de namespaces

namespace Demo {
public class MyClass {
...
}
}

10
Métodos
• Sintaxe semelhante ao C/C++
• Podem ser públicos ou privados
• Suporta overloading
public class MyHelloWorld {
...
public void SayHello()
{ ... }

private void SetTitle(String Title)


{ ... }
}

11
Passagem de parâmetros
• Por valor
• Por referência
– out – parâmetro de saída
– ref – parâmetro de entrada e saída

public void func1(int x)


{ ... }

public void func2(out int x)


{ ... }

public void func2(ref int x)


{ ... }

12
Herança
• Apenas existe herança simples

public class MyClassBase {


...
public void Func() { ... }
}

public class MyClassDeriv : MyClassBase {


...
public new void Func() { base.Func(); ... }
}

13
Operadores
• Atribuição
 =
• Relacionais
 < <= > >=
 == (retorna true se os valores dos operandos
forem iguais)
 != (diferente)
• Lógicos
 && (e) || (ou) ! (negação)
• Aritméticos
 + - * / %
https://msdn.microsoft.com/pt-br/library/6373h346.aspx
14
Operadores
class Exemplo
{static void Main()
{int x, y;
float z;
x = 5;
y = 10;
z = (x+y)/2;
System.Console.WriteLine (“O resultado é
{0}.”,z);
} }

15
Criação de objectos

// definição da classe
public class MyClass { ... }

// definição da variável
MyClass obj;

// criação do objecto
obj = new MyClass();

16
Construtores
• Seguem as regras do C/C++
– Mesmo nome da classe
– Sem tipo de retorno
– Podem ter ou não argumentos
public class MyClass {
...
public MyClass() { ... }
public MyClass(String Title) { ... }
}

17
Ciclos
// repetição n vezes
for (int x = 0; i < vec.Length; i++)
Console.WriteLine(vec[i]);

// repetição condicional
int i = 0;
while (i < vec.Length)
{
Console.WriteLine(vec[i]);
i++;
}

18
Estruturas Condicionais
// teste de decisão
if (i < vec.Length)
Console.WriteLine(vec[i]);
else
Console.WriteLine(“Erro!!!”);

// outro exemplo
if ... else

string nome = “Antonio";


if ( nome == “Araujo" )
{
Console.WriteLine( “Está no bloco 'if'" );
}
else
{
Console.WriteLine( “Está no bloco 'else'" );
}

19