Escolar Documentos
Profissional Documentos
Cultura Documentos
Lógica de Programação (Estrutura de Dados, POO, Banco de Dados, Análise e Designe de Sistemas)
Comercial(Back End, Web, Mobile, Desktop, Games)
Cursos:
Estrutura de um programa C#
Criar variável
Funções
Saída de Dados
Operadores de Atribuição
Entrada de Dados
Split
HORAS/DATAS
Funções
Debugging
While
For
C# - linguagem de programação
.NET – plataforma de desenvolvimento podendo usar outras linguagens de programação. É composto por BCL
(Bibliotecas de classes base) e CLR (Commom Language Runtime). É uma máquina virtual que executa os programas
Estrutura de um programa C#
Solução = .sln
Projeto = .csproj
Classe = .cs
Console.WriteLine pertence ao namespace System, por isso a necessidade de dar um using nele
Criar variável
Int nomevariavel = 3;
Funções
Int.MinValue = pega o menor valor do int
Saída de Dados
Console.WriteLine(valor);
Console.Write(valor);
Using System.Globalization;
Console.WriteLine(valor.ToString(“F2”, CultureInfo.InvariantCulture));
Operadores de Atribuição
=
+= , -+ , *= , /= , %=
++ , --
Conversão Implícita e Casting
Entrada de Dados
Console.WriteLine("Informe seu nome");
string nome = Console.ReadLine();
Split
(vetor) – vamos supor que quer digitar 3 palavras e armazenar em 3 variáveis diferentes
Converter a entrada de dados
Operadores comparativos
== igual
!= diferente
Operadores lógicos
&& = E
|| = OU
! = Não
Estrutura Condicional IF – ELSE
HORAS/DATAS
Funções
processamento que possui um significado
Debugging
F9 – cria um breakpoint
Orientação a objeto
Atributos (dados/campos)
Métodos (funções/operações)
Construtores
Sobrecarga
Encapsulamento
Herança
Polimorfismo
Exemplos:
Membros Estáticos
Exemplo: Math.Sqrt – não precisa ser instanciado. Math é uma classe, e chamamos o método Sqrt
Exemplo:
Construtores
Serve para iniciar valores nos atributos. Permitir ou obrigar que o objeto receba dados / dependências no momento
de sua instanciação (injeção de dependência)
Chamada:
Declaração:
Sobrecarga
Chamada
Declaração
This
Uso comum:
Padrão de Nomes:
Vamos supor que cria um construtor com o atributo e o parâmetro com o mesmo nome, precisa colocar o this para
diferenciar o objeto: Isso quer dizer que o atributo recebe o parametro
Encapsulamento
Não permitir que a qualquer momento alterem valores de atributos, só pode permitir através dos métodos
Qdo coloca private num atributo, quer dizer que ele é privativo, não pode mais ser acessado por outra classe
Properties
São definições de métodos encapsulados, expondo uma sintaxe similar à de atributos e não de métodos (Não precisa
criar os métodos Get/Set igual ensinado acima)
Declaração:
Chamada:
Auto Properties
É uma forma simplificada de se declarar propriedades que não necessitam de lógicas particulares para as operações
get e set
Prop + tab + tab monta a estrutura: public int MyProperty { get; set; }
Chamada:
Declaração – a alteração de preço só está permitida ocorrer no método AlterarPreco, a de quantidade está liberada
Ordem sugerida para implementação de membros
Atributos privados
Propriedades autoimplementadas
Construtores
Propriedades customizadas
Outros métodos da classe
Modificadores de acesso
Garbage Collector
Nullable
Vetores
Começa da posição 0
Chamada do método
Chamada
Declaração
Boxing e unboxing
Listas
Tamanho variável
namespace Listas
{
class Program
{
static void Main(string[] args)
{
// ----------> declarar e já instanciar a lista
List<string> lista = new List<string>();
//Posição
int pos1 = lista.FindIndex(x => x[0] == 'M');
Console.WriteLine("Posição começando com M: " + pos1);
Console.WriteLine("--------------------");
Console.WriteLine("--------------------");
Console.WriteLine("--------------------");
Console.WriteLine("--------------------");
}
}
Exemplo de lista de Classe:
namespace Exe1Lista
{
class Program
{
static void Main(string[] args)
{
Console.Write("Informe o número de funcionários");
int qtdFunc = int.Parse(Console.ReadLine());
int i;
for (i = 0; i < qtdFunc; i++)
{
Console.Write("Qual a porcentagem?");
double porcentagem = double.Parse(Console.ReadLine());
Funcionario alterFuncLista = lista.Find(x => x.Id == funcAltSal);
if (alterFuncLista != null)
{
alterFuncLista.AlterarSalario(porcentagem);
}
else
Console.WriteLine("Funcionario não existe");
}
}
}
Matrizes
Inferência de tipos
Switch Case:
Expressão Ternária
DateTime
Date(DateTime)
Day (int)
DayOfWeek(DayOfWeek)
DayOfYear(int)
Hour(int)
Kind
(DateTimeKind)
Milisecond(int)
Minute(int)
Month(int)
Second(int)
Ticks(long)
TimeOfDay(TimeSpan)
Year(int)
TIMESPAN
GIT
Sistema de versionamento
É um tipo especial que serve para especificar um conjunto de constantes. É um tipo valor
Exemplo: Se quer representar os dias da semana,melhor colocar o dia, em vez de número. O compilador não vai
deixar colocar um valor fora do definido
Design
Categorias de classes:
Composição
Herança é um tipo de associação para uma classe herdar dados e comportamentos de outra
Vantagens – reuso
Upcasting e Downcasting
Upcasting = polimorfismo
Namespace Curso{
....
Exemplo: um banco permite que apenas contas poupanças e jurídicas podem ser instanciadas, e não contas comum
Métodos Abstratos
Bloco catch (capturar) = contem o que fazer, caso ocorra uma exceção. Pode ter vários catch
Try
Catch(ExceptionType e)
Quando mostra uma exceção, mostra qual foi o tipo dado, conforme a tabela acima, note abaixo numa divisão de 10
por 0
Para tratar, faça o seguinte:
Exceções Personalizadas
Mod 13 – Trabalhando com Arquivos
Classe File: chama simplemente colocando File.operação – não precisa instanciar o objeto, um pouco mais lenta
Generics