M�s do Programador
APROVEITAR OFERTA

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.

Quer ter acesso a todos os cursos desse Guia?

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.

M�s do Programador

Aprenda a programar construindo projetos de verdade

  • +5.000 exerc�ciospr�tica em cada conte�do
  • +40 projetos reaispra montar seu portf�lio
  • Roadmap CompletoDo zero ao Dev Fullstack
  • DevRobottira d�vidas na hora do estudo

Assinatura mensal de

R$ 69,90 /m�s

sem comprometer o limite do seu cart�o

Aproveitar oferta

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

Aceitar