Introdução ao C# e .NET
Aula 1 de 7
O que é C#?
C# é uma linguagem moderna, tipada, multiparadigma da Microsoft, lançada em 2000 com a plataforma .NET.
Console.WriteLine("Olá, Matching Engine!");
.NET SDK
# Verificar instalação
dotnet --version
dotnet --list-sdks
# Criar projeto
dotnet new console -n MatchingEngine
cd MatchingEngine
dotnet run
Tipos e Variáveis
// Tipos por valor
int quantidade = 100; // 32-bit
long volume = 1_000_000; // 64-bit
double preco = 15.50; // ponto flutuante
decimal valor = 1500.99m; // precisão financeira (usar sempre para dinheiro!)
bool ativo = true;
char tipo = 'B';
// Tipos por referência
string simbolo = "AAPL";
var ativo2 = "MSFT"; // inferência de tipo
// Nullable
int? limite = null;
decimal? precoMaximo = null;
// Constantes
const int LOTES_POR_CONTRATO = 100;
Estruturas de Controle
// if
if (quantidade > 0)
{
Console.WriteLine("Ordem válida");
}
else if (quantidade == 0)
{
Console.WriteLine("Quantidade zero");
}
else
{
Console.WriteLine("Quantidade inválida");
}
// switch
char lado = 'C';
string descricao = lado switch
{
'C' => "Compra",
'V' => "Venda",
_ => "Desconhecido"
};
// loops
for (int i = 0; i < 5; i++)
Console.WriteLine(i);
foreach (var item in new[] { "AAPL", "MSFT", "GOOG" })
Console.WriteLine(item);
Métodos
public static decimal CalcularValor(int quantidade, decimal preco)
{
return quantidade * preco;
}
// Expression-bodied
public static decimal CalcularTaxa(decimal valor, decimal taxa)
=> valor * taxa;
// Parâmetros opcionais
public void EnviarOrdem(string simbolo, int quantidade, string tipo = "LIMITE")
{
Console.WriteLine($"Ordem {tipo}: {quantidade} {simbolo}");
}
C# é fortemente tipado. Use decimal para valores financeiros, não double. var é conveniente para tipos óbvios, mas prefira tipos explícitos em APIs públicas.