Quer ter acesso a todos os cursos desse Guia?

Linguagem C#

Neste guia de consulta você encontrará diversos conteúdos que podem ser usados ao longo dos seus estudos sobre a linguagem de programação C#. Consulte este guia para aprender mais sobre certos recursos da linguagem.

Introdução ao C#

Para que você comece a desenvolver aplicações com C# e .NET, o primeiro passo é preparar o ambiente, instalando as ferramentas necessárias. No curso abaixo você verá como proceder:

C# é uma linguagem de programação criada pela Microsoft como parte da plataforma .NET. Por ter uma sintaxe parecida com o Java e C++, o C# pode ser indicado mesmo para programadores iniciantes, que já conhecem a programação Orientada a Objetos. Com ela podemos criar desde aplicações web, desktop, mobile e também jogos eletrônicos.

Nos cursos a seguir você aprenderá desde os conceitos mais básicos da linguagem C# até os recursos de uma das suas versões mais recentes:

Já os links abaixo podem ser usados para consultar rapidamente recursos específicos da linguagem e sua sintaxe:

Explorando o .NET Framework

Até aqui você já viu como utilizar vários recursos da linguagem C# e deve saber que quando usamos essa linguagem normalmente estaremos usando o .NET Framework, que nos provê um conjunto de classes e ferramentas para o desenvolvimento de aplicações.

No curso abaixo aprenderemos o que é o .NET Core, uma plataforma para desenvolvimento de aplicações desenvolvida e mantida pela Microsoft. Veremos aqui suas principais características e diferenças com relação ao .NET Framework.

Bibliotecas de classes

Bibliotecas de classes (class libraries) são tipos de projetos usados para agrupar classes, normalmente de acordo com um objetivo (entidades, validações, etc). Tais bibliotecas podem ser referenciadas por outros projetos, como ASP.NET MVC, Windows Forms. etc. Assim algumas funcionalidades ficam centralizadas, bem como sua manutenção e testes. No curso abaixo você aprenderá a criar e utilizar essas class libraries no Visual Studio:

Coleções

O .NET Framework é um conjunto de ferramentas e classes que suportam o desenvolvimento de aplicações com a linguagem C# (além de outras linguagens). Entre as várias classes do framework que são de uso frequente em nosso dia a dia estão as coleções, que implementam diferentes estruturas de dados, tais como listas, filas, pilhas, tabelas hash. Nos artigos a seguir você poderá conhecer algumas das principais classes de coleções que você pode usar em suas aplicações com C#:

Essas e outras classes de coleções implementam várias interfaces que padronizam seu funcionamento e que você mesmo pode implementar em suas classes próprias. Essas interfaces encontram-se no namespace System.Collections, que você pode conhecer em maiores detalhes no artigo abaixo:

Tratamento de exceções

Exceções ocorrem com frequência no código e saber lidar com elas é fundamental para garantir que as aplicações se comportem adequadamente nessas situações, sem travar ou parar de funcionar. Nesse sentido o tratamento de exceções é parte fundamental de qualquer linguagem, pois permite identificar os problemas que ocorreram e definir fluxos alternativos para o programa. Observe a Figura 1.

Tratamento de exceções
Figura 1. Tratamento de exceções

Para aprender a tratar exceções em C#, sugerimos os seguintes conteúdos:

Ainda no contexto de identificação e tratamento de erros é importante saber utilizar os recursos de depuração/debug do Visual Studio. Um deles é o breakpoint, que permite pausar a execução da aplicação em determinado ponto do código para que possamos avaliar seu estado naquele momento. Para saber mais, acesse o link abaixo:

Generics

Gerenics é um recurso da linguagem C#, também presente em outras linguagens atuais, que simplifica e torna mais seguro o trabalho com objetos cujo tipo não é conhecido inicialmente. Ou seja, com esse recurso podemos trabalhar com tipos de dados "genéricos" sem ter de recorrer a declarar todos os objetos como um supertipo (como a classe Object) e realizar casts para manipulá-los de acordo com seu tipo real. Para conhecer melhor esse recurso sugerimos a leitura dos artigos a seguir:

Manipulação de arquivos

Ler, escrever, criar e excluir arquivos são tarefas comuns em diferentes tipos de aplicação. Em C# contamos com um conjunto de classes que torna bastante simples implementar essas funcionalidades, como você poderá ver nos seguintes artigos:

A maior parte das classes para manipulação de arquivos está contida no namespaces System.IO (de Input/Output), que é explorado em detalhes nos artigos abaixo:

Caso você precise lidar especificamente com arquivos ZIP também há classes específicas para isso. Se for esse o caso, sugerimos a leitura do artigo abaixo:

LINQ

LINQ (Language Integrated Query) é uma parte da linguagem C# que permite consultar coleções de dados com uma sintaxe semelhante à da linguagem SQL, com cláusulas para filtros e junções entre resultados, por exemplo. Para conhecer esse recurso, confira os links abaixo:

Uma possibilidade muito interessante do LINQ é a de utilizar Lambda Expressions para realizar as consultas, ao invés da sintaxe padrão de queries. Caso você ainda não saiba o que são Lambda Expressions, você pode ver o curso abaixo e logo em seguida ver como aplicá-las no LINQ:

Como você já deve ter visto até aqui, o LINQ é bastante flexível e pode ser usado em diferentes contextos. Por exemplo, nos links abaixo você pode ver exemplos de utilização desse recurso na leitura de arquivos XML e na persistência de dados:

Threads

Por meio de threads uma aplicação pode executar diferentes tarefas de forma concorrente, evitando o sobrecarregamento do fluxo principal do programa. Por exemplo, por meio de threads podemos executar um procedimento pesado em segundo plano, deixando a interface com o usuário livre para interações.

Para dar os primeiros passos com threads em C# você pode ver o seguinte artigo:

Como você deve ter visto, com threads conseguimos implementar processamento assíncrono e paralelo, o que pode nos garantir ganho de desempenho e manter a aplicação funcional durante processamentos pesados. Para saber mais sobre programação assíncrona e paralela em C#, confira os conteúdos abaixo:

Serialização

Com muita frequência precisamos persistir os objetos das nossas aplicações em arquivos ou enviá-los, por exemplo, através da internet para outras aplicações. Nesses casos é preciso obter uma representação desses objetos em um formato adequado, como XML, JSON ou binário. Para isso usamos a técnica de serialização, que você poderá conhecer em maiores detalhes nos links a seguir:

E se você precisa manipular dados no formato JSON com frequência uma boa opção é usar a biblioteca Json.NET, que é apresentada no seguinte curso:

Reflection

Reflection é uma técnica que tem por objetivo obter informações sobre objetos, classes e assemblies em tempo de execução. Nos artigos abaixo você poderá aprender a trabalhar com reflexão em C# e algumas aplicações práticas dessa técnica:

Avançando na linguagem

Para lhe ajudar a seguir evoluindo no aprendizado do C#, indo além dos recursos mais básicos e fundamentais, separamos aqui um curso que apresenta conceitos avançados dessa linguagem:

Orientação a Objetos

Normalmente, quando começamos a programar, o primeiro paradigma que conhecemos é o estruturado. Ele facilita o aprendizado por não trazer consigo tantos conceitos, como os que fazem parte da Orientação a Objetos. Imagine começar a criar algoritmos e, ao mesmo tempo, conciliar conceitos abstratos para poder programar as primeiras soluções? Não seria fácil.

Portanto, é natural percorrer o caminho: Programação Estruturada -> Programação Orientada a Objetos. O único porém desse processo é que algumas vezes acabamos levando algumas características da primeira para a segunda, características essas que podem prejudicar um pouco o nosso código. Pensando nessa etapa de transição, preparamos o seguinte artigo:

Para prender mais sobre o paradigma da Orientação a Objetos, consulte os artigos a seguir:

É válido ressaltar que a Orientação a Objetos também não é uma “bala de prata”, não é a opção ideal para tudo. Ela possui vantagens e desvantagens. Para conhecer esses pontos, assim como alguns mitos que foram criados em torno dela, acesse os artigos:

Ainda está em dúvida se deve ou por que deveria usar a POO? Fizemos um bate-papo pra lhe ajudar nesse momento:

Pilares da Orientação a Objetos

Após o primeiro contato com a Orientação a Objetos, você deve ter observado termos como abstração, encapsulamento, herança e polimorfismo. Estes são os fundamentos, os quatro pilares da POO. Para aprender sobre eles, algo fundamental para programar corretamente com esse paradigma, acesse:

Coesão e acoplamento

E agora, como saber se estou programando orientado a objetos, se estou aplicando corretamente seus conceitos? Uma maneira de sanar essa dúvida é observar se seu código está coeso e com baixo acoplamento.

Um código coeso é aquele que implementa apenas o que de fato é de sua responsabilidade, por exemplo: um método responsável por imprimir um relatório não deve saber como acessar o banco de dados. Se ele sabe como fazer isso, dizemos que ele tem baixa coesão, o que deve ser evitado.

Já um código fortemente acoplado é aquele que depende de muitos pacotes, classes e/ou métodos para prover uma funcionalidade. Quando se deparar com situações assim, cuidado. O post a seguir expõe como melhorar a qualidade do seu código, o ajudando a reduzir o acoplamento entre classes.

Princípios SOLID

Ao avançar seus estudos em OO, logo você se deparará com os Princípios SOLID. Esse termo representa cinco regras que são avaliadas por arquitetos e programadores como as boas práticas para uma programação orientada a objetos, nos auxiliando na construção de um código de fácil leitura, manutenção e extensão.

O nome SOLID também representa um acrônimo, e como apresentado a seguir, é formado pela junção da primeira letra do nome de cada um dos princípios.

Single Responsibility Principle: De acordo com esse princípio, cada classe deve ser planejada para possuir apenas uma responsabilidade. Sobre ele, temos alguns posts específicos, os quais indicamos a seguir:

Open Closed Principle: Esse princípio determina que uma classe deve ser fechada para modificações e aberta para extensões. Sobre ele, recomendamos os posts:

Liskov Substitution Principle: Esse princípio está relacionado à herança e indica que devemos ser capazes de substituir a classe filha pela classe pai sem que o sistema apresente problemas;

Interface Segregation Principle: Já o princípio da segregação dita que precisamos planejar interfaces específicas, com propósito bem determinado, de modo que quando implementada a classe que o faz não precise codificar métodos desnecessários;

Dependency Inversion Principle: Por fim, o princípio da inversão de dependência sinaliza que o recomendado é depender apenas de classes abstratas, e não de classes concretas.

Para aprender sobre todos esses princípios, acesse o conteúdo a seguir:

Orientação a Objetos na prática

Agora que você já conhece os conceitos, que tal colocá-los em prática programando com a linguagem C#? Os artigos e o DevCast a seguir lhe ensinarão como aplicar os conceitos da Orientação a Objetos com os recursos do C#:

Relatórios

A maioria das aplicações conta com uma seção de relatórios, mas codificar essa parte pode exigir muito tempo. Existe uma gama de ferramentas, plugins e bibliotecas que ajudam nessa tarefa, como o Crystal Report, que é uma das mais comuns. Você confere isso nos posts a seguir:

A seguir você encontra mais exemplos de produção de relatórios com outras tecnologias:

Mais sobre .NET

Além dos cursos e exemplos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre .NET, os quais você pode conferir nos Guias de Consulta abaixo:

Além disso, você pode conferir todo o conteúdo de .NET clicando aqui.

Veja esse ebook
Crie sua conta grátis e baixe o e-book
Dê um upgrade no início da sua jornada.

Perguntas frequentes

Quem somos?
A DevMedia é uma escola de formação de programadores com mais de 20 anos de mercado. Já formamos mais de 100 mil programadores. A DevMedia ensina programação web, (desenvolvimento de site e aplicativos para celulares). A programação web é a área que mais contrata programadores em todo o mundo, sendo a maior porta de entrada para a área da tecnologia.
Por que a programação se tornou a profissão mais promissora da atualidade?
Nunca o mundo necessitou tanto de programadores como atualmente. Com a quarentena estabelecida pela Covid-19, lojas, restaurantes, escritórios e escolas, que tiveram suas atividades paralisadas, perceberam a urgente necessidade de adaptar seus negócios para o mundo digital. Em contrapartida as empresas de tecnologias, durante esse período, cresceram como nunca tanto em faturamento quanto em número de usuários. Com isso a necessidade de programadores cresceu muito. Empresas de grande e pequeno porte estão com vagas abertas e não conseguem contratar por falta de profissionais qualificados. No momento estima-se que o número de oportunidades no Brasil seja acima de 200 mil!
Como faço para começar a estudar?
Programação é um universo amplo, existem muitos caminhos e por isso é muito fácil se perder. Nosso conselho é: NÃO ESTUDE SOZINHO. Infelizmente 78% das pessoas que começam a estudar sozinhas desistem da profissão por não conseguirem aprender. Com uma boa orientação elas teriam conseguido! Se você tomou a decisão de entrar nesse mercado, faça um investimento no seu futuro e busque aprender com quem sabe. Isso vai triplicar suas chances de dominar a programação e conquistar uma vaga no mercado.
Em quanto tempo de estudo vou me tornar um programador?
O tempo depende, claro, da dedicação de cada estudante. A DevMedia ensina programação há 20 anos e com toda essa experiência montamos uma metodologia que tem como objetivo principal acelerar os seus estudos. Você terá um Plano de Estudo para te orientar em todos os passos do aprendizado. Desenvolverá diversos projetos reais para colocar em prática os conhecimentos e contará com o melhor suporte ao aluno da web. Todas as suas dúvidas serão respondidas de imediato. Seguindo nossa metodologia e se dedicando, entre 6 meses e um ano você já estará programando.
Sim, você pode se tornar um programador e não precisa ter diploma de curso superior!
Ser programador é uma das maiores oportunidades que o Brasil oferece para quem não tem condições de fazer uma faculdade. Muitas empresas contratam sem fazer questão de diploma, o que importa para elas é que o candidato seja um bom técnico e consiga atender suas necessidades. Os salários iniciais para programadores são de R$2.500 mil, podendo chegar aos R$15 mil para aqueles que se dedicam. Com disciplina e um estudo correto, que não te faça perder tempo, é possível se tornar um programador em menos de um ano de estudo. Quando você já estiver empregado, aí sim você pode se aprimorar ainda mais fazendo uma faculdade na área.
O que eu irei aprender estudando pela DevMedia?
Nossas trilhas de estudo te permitem virar um programador Full Stack, que é aquele programador mais completo, ele domina o desenvolvimento Front-end, Back-end e Mobile. Você ficará apto para criar sistemas para computadores e aplicativos para celulares. Utilizamos como base a linguagem JavaScript que é a linguagem mais utilizada no mundo. Outra vantagem do JavaScript é a quantidade de oportunidades no mercado de trabalho. É sem dúvida a linguagem que mais possui vagas e a que mais dá oportunidade para os iniciantes.
Principais diferenciais da DevMedia
Suporte ao aluno - O aluno conta com a ajuda de professores para tirar dúvidas durante toda a jornada de ensino. As perguntas são respondidas em menos de uma hora por professores experientes e atuantes no mercado. Gamificação - A plataforma de ensino é divertida e motivante. É como se o aluno estivesse dentro de um game. Ele terá seu card pessoal, que poderá ser customizado utilizando as moedas que ele ganha quando acerta os exercícios. Ele poderá também trocar suas moedas por outros produtos dentro da plataforma. Além disso, seus acertos contam pontos no ranking mensal dos alunos. Tudo isso deixa os estudos mais leves e motivantes. Didática - A DevMedia já ensina programação há mais de 20 anos. Desenvolvemos ao longo desse tempo uma metodologia que ensina a programar de verdade, com menos aulas e mais prática, são dezenas de projetos e exercícios que desenvolvem a mente programadora no aluno. Projetos reais - Durante os estudos os alunos irão desenvolver dezenas de projetos em cada uma das carreira (front-end, back-end e mobile). Mas o principal é que os projetos da DevMedia não são “copia e cola” como se encontra por aí. Aqui o aluno vai desenvolver os projetos de forma autônoma, recebendo claro a nossa mentoria e suporte, mas o aluno terá condições para desenvolvê-los sozinho. Milhares de exercícios - Programação é prática, por isso a cada nova matéria o aluno passará por um bloco de exercícios para fixar o conteúdo e cada acerto será bonificado com pontos e moedas e valem uma posição no ranking dos alunos.
Qual o investimento financeiro que preciso fazer para me tornar um programador?
Na internet é possível encontrar cursos de todos os preços, desde 50,00 a R$15.000,00. Os cursos de 50,00 são cursos avulsos, que explicam apenas pedaços de uma determinada matéria. Para criar um conhecimento completo você precisaria comprar no mínimo de 15 a 20 cursos avulsos e correria o risco deles não se complementarem tão perfeitamente e seu conhecimento ficaria cheio de "buracos". Os cursos de R$15.000,00 não fazem nenhum sentido. Deixe para investir em cursos caros quando quiser se especializar. Por esse preço você pode inclusive estudar fora do pais. Na DevMedia, você terá um plano de estudo montado por quem já formou mais de 100 mil alunos, e já está nesse mercado há mais de 20 anos. Somos a única plataforma que oferece Suporte ao Aluno em tempo real e uma experiência de estudos gamificada para te manter motivado durante todo o período de estudo. E o melhor, nosso pagamento é recorrente, você não precisa usar o limite do seu cartão de crédito para investir no seu futuro. Aproveite para se matricular agora mesmo.

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar