Fale com a gente no WhatsApp Fale com a gente no WhatsApp
Fale com a gente no WhatsApp

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 vídeos
  • Certificado com 30 horas
  • 36 exercícios

Sobre o curso

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 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.

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 pra mim na realidade está acima do esperado, eu preciso retornar pra rever todos os tópicos. Site maravilhoso dispensa qualquer comentário.

    Depoimento - Jose
    C# (C Sharp) Avançado
    Jose Itupeva / SP
  • O curso foi ótimo, o instrutor é muito bom. Valeu!

    Depoimento - Ângelo
    C# (C Sharp) Avançado
    Ângelo Curitiba / PR
  • Curso Excelente, conteúdo de ótima qualidade e muito bem explicado.

    Depoimento - Felipe
    C# (C Sharp) Avançado
    Felipe Jacareí / SP
  • Muito bom

    Depoimento - Brendow
    C# (C Sharp) Avançado
    Brendow Brasília / DF
  • Muito bom, recomendo é um ótimo curso, agora vou escolher o próximo....

    Depoimento - Roberto
    C# (C Sharp) Avançado
    Roberto Itaquaquecetuba / SP
  • 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
  • Excelente Curso!!!!!

    Depoimento - Eric
    C# (C Sharp) Avançado
    Eric Tucuruí / PA
  • Boa tarde, Gostaria de parabenizar a todos os instrutores envolvidos. Já trabalho com C# por alguns anos, e esse curso foi de extrema importância para mim. Tanto o conteúdo quanto as vídeos aulas foram excelentes. Parabéns a todos e continuem assim. abs

    Depoimento - Bruno
    C# (C Sharp) Avançado
    Bruno São Paulo / SP
  • Como todos os cursos que fiz na TreinaWeb até hoje, esse não foi diferente. Além de adquirir novos conhecimentos, serviu de reforço em vários outros pontos que considero importantes. Os vídeos estão ótimos. Quanto ao suporte utilizei pouco, mas quando foi preciso foi pontual e eficaz. Como sugestão, acho que a parte dos testes ao final de cada capítulo poderia ser maior, talvez aumentar de três para 5 perguntas. Parabéns.

    Depoimento - Luiz
    C# (C Sharp) Avançado
    Luiz Volta Redonda / 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$ 129,00 ECONOMIZE R$ 960,00
12x R$ 49,00 sem juros, no cartão de crédito
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!