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.

Promoção de Natal

DevMedia - Plataforma para Programadores

Oferta exclusiva de Natal!

<Perguntas frequentes>
Carreira
Por onde devo iniciar os estudos?

Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.

Em quanto tempo vou me tornar um programador?

O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.

Eu preciso de um diploma de faculdade para começar a atuar como programador?

Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.

Por que a programação se tornou a profissão mais promissora da atualidade?

A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.

Metodologia
Quais são os principais diferenciais da DevMedia?

Didática e Metodologia Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.

O que eu irei aprender estudando pela DevMedia?

Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.

Quais as vantagens de aprender programação através da linguagem JavaScript?

  1. Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
  2. Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
  3. Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens

A plataforma oferece certificados?

Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.

A plataforma tem suporte ao aluno, como funciona?

Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.

A DevMedia me forma como programador Full Stack?

Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!

Tem horário para as aulas?

Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.

Por que a DevMedia não usa videoaulas em sua didática?

Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.

Preciso de um computador específico para estudar na DevMedia?

Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.

Eu consigo estudar pelo celular?

Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.

A DevMedia tem aplicativo?

Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.

Preciso estar na faculdade para acompanhar os estudos na DevMedia?

Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.

Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?

Oferecemos dois tipos de planos: o plano recorrente e o plano anual. No plano recorrente, a cobrança é lançada mensalmente no cartão de crédito, necessitando apenas do limite para uma parcela. No plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX ou no Boleto parcelado (sujeito à analise de crédito)

Adquirindo o plano, terei acesso a todo o conteúdo?

Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.

A plataforma tem planos vitalícios?

Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.

A DevMedia tem fidelidade?

Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.

Como funciona o cancelamento?

Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias, tanto no plano anual quanto no plano recorrente. Após esse período, se você estiver no plano recorrente e optar por cancelar antes de completar 12 meses, há uma taxa de 10% sobre o valor total. No plano anual, não há multas adicionais, mas o valor pago não é reembolsável.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.

A renovação é automática?

Sim, nosso plano anual renova automaticamente após 12 meses, proporcionando conveniência e continuidade no seu aprendizado. Na renovação automática não é debitado do seu cartão as 12 parcelas. Para facilitar e não prejudicar o seu limite, a renovação é feita no modelo recorrente, cobrando uma mensalidade a cada mês.
Além disso, a renovação não tem fidelidade, oferecendo total flexibilidade. Você também tem a liberdade de desativar a renovação automática a qualquer momento, garantindo controle absoluto sobre sua assinatura.

Cadastro
Como excluir meus dados da plataforma?

Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.

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

Aceitar