Curso de C# (C Sharp) Avançado

A linguagem C# possui recursos que nos permite criar de aplicações simples ou avançadas, com processamento paralelo, ou com mapeamento objeto-relacional, que facilita a conexão com o banco de dados e o gerenciamento dos dados.

Nível Avançado Categoria Desenvolvimento Back-end

  • Curso com 10h12 de videos
  • Certificado com 30 horas
  • 36 exercícios

Sobre o curso

A linguagem C# possui recursos que nos permite criar de aplicações simples ou avançadas, com processamento paralelo, ou com mapeamento objeto-relacional, que facilita a conexão com o banco de dados e o gerenciamento dos dados.

O C# é a principal linguagem da plataforma de desenvolvimento da Microsoft, o .NET. Gerenciada, robusta, moderna, escalável e multi-paradigma, além de ser open-source. Com o C# é possível criar desde aplicações desktop até aplicações web através do ASP.NET MVC, passando inclusive pelo desenvolvimento de aplicações mobile com o aclamado Xamarin. Tudo isso faz do C# uma das cinco linguagens mais utilizadas no mundo!

Neste curso, você vai aprender sobre recursos avançados do C#, como interfaces covariantes, contravariantes e invariantes, expressões lambda, tipos e objetos anônimos, utilização do LINQ e dos frameworks ORM Entity Framework e NHibernate.

O que irá aprender?

Neste curso abordaremos tudo o que você precisa aprender sobre os recursos mais avançados da linguagem. São vídeo aulas e apostilas que mostram os conceitos e a prática de recursos como expressões lambda e frameworks ORM. Também serão passados exercícios para que você possa fixar, praticar e aplicar o conteúdo aprendido.

Dentre várias outras coisas, você será capaz de:

  • Compreender com mais profundidade os aspectos envolvidos na utilização de delegates;
  • Entender os conceitos de invariância, covariância e contravariância e suas implicações;
  • Definir eventos no C#;
  • Compreender o que são expressões lambdas, objetos anônimos e tipos anônimos;
  • Criar métodos de extensão;
  • Utilizar o LINQ para realizar consultas em múltiplas fontes de dados;
  • Utilizar os dois frameworks ORM mais populares da plataforma .NET (Entity Framework e NHibernate);
  • Entender o funcionamento básico do Windows Presentation Foundation (WPF);
  • Utilizar programação assíncrona com threads e tasks;
  • Utilizar programação paralela básica com o PLINQ;
  • Criar um projeto que faça acesso a dados através de uma arquitetura robusta e flexível.

Pra quem é esse curso?

Este curso é destinado a desenvolvedores que desejam entender ou revisar alguns conceitos avançados do C#, como interfaces covariantes, contravariantes e invariantes, dentre outros. Este curso também pode auxiliar desenvolvedores que desejam aprender ou revisar como funciona o paradigma orientado a eventos e os conceitos de programação assíncrona e paralela com C#.

Quais os pré-requisitos para esse curso?

Os pré-requisitos não são obrigatórios, são apenas sugestões. Eles dão uma base de parte do conhecimento que é interessante ter para um bom aproveitamento nesse curso.

Metodologia

  • Videoaulas
  • Texto e imagens
  • Início Imediato
  • Testes de aprendizado

Ambiente do curso

  • Visual Studio 2013 Community ou superior
  • Visual Studio Express 2013 for Windows Desktop
  • .NET Framework 4.6
  • SQL Server 2014 Express ou superior
  • MySQL 5.6 ou superior
  • NHibernate 4.0.3 ou superior
  • Entity Framework 6.1.3

Sobre o professor

Cleber Campomori

Cleber Campomori

Cleber é pós-graduado em Projeto e Desenvolvimento de Aplicações Web, além de Microsoft Specialist (HTML5/CSS3), Microsoft Certified Solutions Associate (MCSA) Web Applications e Microsoft Certified Solutions Developer (MCSD) Web Applications. Fascinado por Arquitetura de Software, Programação Funcional, Machine Learning e educação em geral. Também é conhecido como "o boladão".

Conteúdo programático

  1. Introdução

    Nesta aula, veremos uma apresentação do curso.

    2 aulas
    • Introdução
    • Preparando o ambiente
  2. (Co)variância, contravariância, Invariância e as keywords “in” e “out”

    Nesta aula, veremos o que significa covariância, contravariância e invariância e como funciona as keyworks "in" e "out".

    8 aulas
    • (Co)variância, contravariância e Invariância
    • Arrays, covariância e o problema de tipagem
    • A keyword “out”
    • A keyword “in”
    • Criando interfaces covariantes e contravariantes - Parte 1
    • Criando interfaces covariantes e contravariantes - Parte 2
    • Criando interfaces covariantes e contravariantes - Parte 3
    • Questionário
  3. Delegates

    Nesta aula, veremos mais recursos dos Delegates.

    10 aulas
    • Um pouco mais sobre delegates
    • Delegates multicast
    • Delegates apontando para instâncias e métodos estáticos
    • Delegates como parâmetros de métodos
    • Utilizando delegates multicast e encadeando chamadas de métodos
    • Delegates de tipos genéricos
    • Utilizando Generics em conjunto com delegates
    • Delegates dos tipos Func e Action
    • Conhecendo os delegates Func e Action
    • Questionário
  4. Eventos e a keyword “event”

    Nesta aula, veremos como funciona os eventos no .NET.

    7 aulas
    • Eventos e a keyword “event”
    • Declarações envolvidas em um evento e as convenções no .NET Framework
    • Assessores de eventos
    • Modificadores de eventos
    • Juntando Orientação a Objetos com Orientação a Eventos
    • Passando parâmetros para os eventos
    • Questionário
  5. Expressões Lambda, métodos anônimos e tipos anônimos

    Nesta aula, aprenderemos as expressões Lambdas.

    10 aulas
    • Expressões Lambda, métodos anônimos e tipos anônimos
    • Expressões lambda e árvores de expressão
    • Tipagem de parâmetros em uma expressão lambda
    • Lambdas de expressão e lambdas de instrução
    • Contexto de variáveis em uma expressão lambda
    • Conhecendo expressões lambda
    • Métodos anônimos
    • Conhecendo métodos anônimos
    • Tipos anônimos
    • Questionário
  6. Métodos de extensão

    Nesta aula, veremos os métodos de extensão.

    3 aulas
    • Métodos de extensão
    • Criando e utilizando métodos de extensão
    • Questionário
  7. LINQ: Language-Integrated Query

    Nesta aula, aprenderemos o LINQ.

    7 aulas
    • LINQ: Language-Integrated Query
    • LINQ e providers
    • Formato e execução das consultas LINQ
    • O namespace System.Linq
    • Utilizando o LINQ - Parte 1
    • Utilizando o LINQ - Parte 2
    • Questionário
  8. Hora de praticar!

    Nesta aula, iremos propor exercícios para você aplicar os conceitos vistos até este momento no curso.

    1 aula
    • Exercício
  9. Acesso a banco de dados e frameworks ORM

    Nesta aula, aprenderemos como funciona o acesso a banco de dados.

    10 aulas
    • Acesso a banco de dados e frameworks ORM
    • Entity Framework
    • NHibernate
    • E o desenvolvimento em camadas?
    • Entity Framework: conhecendo Code-First e Migrations
    • Entity Framework: integrando a camada de acesso a dados ao repositório
    • Entity Framework: fazendo nossa camada de apresentação conversar com nossos repositórios e com o Entity Framework
    • NHibernate: criando a infraestrutura necessária
    • NHibernate: integrando-o ao repositório e à camada de apresentação
    • Questionário
  10. WPF - Windows Presentation Foundation

    Nesta aula, conheça o WPF (Windows Presentation Foundation).

    3 aulas
    • Windows Presentation Foundation
    • Conhecendo um pouco do WPF na prática
    • Questionário
  11. Threads

    Nesta aula, aprenda o funcionamento das threads.

    11 aulas
    • Threads
    • Método Join()
    • Criando métodos “thread-safe”: a keyword lock
    • Definindo nomes para as threads e passando parâmetros
    • Alterando a prioridade e cultura da thread
    • Tratamento de exceções
    • Threads: criando uma thread para preencher um datagridview
    • Threads: aguardando a finalização de uma thread para continuar com a execução
    • Threads: gerenciando o compartilhamento de recursos e a keyword lock
    • Threads: e o tratamento de erros?
    • Questionário
  12. Tasks

    Nesta aula, veremos as tasks.

    12 aulas
    • Tasks
    • Conhecendo a classe Task
    • Métodos Wait() e RunSynchronously()
    • Criando tasks que retornam valores
    • Passando parâmetros para tasks
    • Tratamento de exceções
    • Continuações
    • Tasks: criando uma task para preencher um datagridview
    • Tasks: fazendo algo depois que uma task é concluída
    • Tasks: retornando valores
    • Tasks: e o tratamento de erros?
    • Questionário
  13. Programação assíncrona com C#

    Nesta aula, conheceremos a programação assíncrona.

    8 aulas
    • Programação assíncrona com C#
    • Operações síncronas X assíncronas
    • O que é programação assíncrona?
    • Async e await
    • Expressões lambda assíncronas
    • Criando métodos que não exigem que seja aguardada sua conclusão - as keywords async e await
    • Assincronia e Entity Framework
    • Questionário
  14. Programação paralela com C#

    Nesta aula, conheceremos a programação paralela.

    12 aulas
    • Programação paralela com C#
    • Por que programação paralela?
    • Quando utilizar PFX
    • PLINQ
    • PLINQ e ordenação
    • Classe Parallel
    • Parallel.Invoke
    • Parallel.For e Parallel.ForEach
    • ParallelLoopState: parando laços
    • PLINQ na prática - Parte 1
    • PLINQ na prática - Parte 2
    • Questionário
  15. Projeto final

    Nesta aula, vamos construir uma aplicação completa com os conceitos que vimos até aqui.

    7 aulas
    • Projeto final - Parte 1: criando o domínio
    • Projeto final - Parte 2: criando a camada de persistência
    • Projeto final - Parte 3: criando a camada de repositórios
    • Projeto final - Parte 4: exibindo as marcas e produtos cadastrados
    • Projeto final - Parte 5: criando produtos e marcas no banco de dados
    • Projeto final - Parte 6: atualizando produtos e marcas no banco de dados
    • Projeto final - Parte 7: excluindo produtos e marcas do banco de dados
  16. Hora de praticar!

    Nesta aula, iremos propor exercícios para você aplicar os conceitos vistos até este momento no curso.

    1 aula
    • Exercício
Download da ementa

Cursos relacionados

Formação em que esse curso está inserido

Utilizada e amada por milhares! Veja mais opiniões reais

  • O curso é muito bom, ainda mais complementado com os modulos iniciais

    Depoimento - Igor
    C# (C Sharp) Avançado
    Igor Belo Horizonte / MG
  • A síntese do material é muito boa, com explicações simples e de fácil entendimento, parabéns.

    Depoimento - Raphael
    C# (C Sharp) Avançado
    Raphael Aparecida de Goiânia / GO
  • O curso é muito bom, me ajudou a ter uma visão mais abrangente sobre desenvolvimento de software avançado.

    Depoimento - Paulo
    C# (C Sharp) Avançado
    Paulo Recife / PE
  • Este curso superou as minhas expectativas.

    Depoimento - Marcus
    C# (C Sharp) Avançado
    Marcus Rio de Janeiro / RJ
  • Excelente Curso!!!!!

    Depoimento - Eric
    C# (C Sharp) Avançado
    Eric Tucuruí / PA
  • Curso muito prático e direto, sem enrolação, estilo "show me the code"; professor/instrutor com profundo entendimento do assunto, recomendo a todos que desejam se aprimorar de forma rápida e didática.

    Depoimento - Alessandro
    C# (C Sharp) Avançado
    Alessandro Presidente Prudente / SP
  • Esta linguagem me surpreendeu. O curso é espetacular. Recomendo muito.

    Depoimento - Dionathan
    C# (C Sharp) Avançado
    Dionathan Luzerna / SC
  • Um excelente curso, que me deu bastante clareza nas coisas que eu já fazia no trabalho. Conhecer melhor as ferramentas do .NET framework para usá-las com mais inteligência.

    Depoimento - Guilherme
    C# (C Sharp) Avançado
    Guilherme São Paulo / SP
  • Ótimo curso de programação C#. Muito bem elaborado.

    Depoimento - Alex
    C# (C Sharp) Avançado
    Alex Rio de Janeiro / RJ

Plano de acesso total!

Tenha um ano de acesso completo a todos os cursos da plataforma, incluindo novos lançamentos, mentoria de carreira e suporte direto com os professores!

Um ano de acesso completo

Contrate agora e tenha acesso ilimitado a todo o nosso portfólio. Isso inclui:

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Aplicativos para Android e iOS
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Suporte com SLA de 4 horas úteis
  • Acesso offline através dos apps
R$ 97,00 ECONOMIZE R$ 360,00
12x R$ 67,00 ou R$ 804,00 à vista
Matricule-se agora
Garantia incondicional de satisfação
Garantia incondicional de satisfação

Confiamos tanto nos resultados dos nossos cursos, que criamos uma garantia incondicional de satisfação para você, que são 7 dias de teste!