Categorieën: Alle - web - ferramentas - jogos

door Luis Ricardo 3 jaren geleden

1128

C#

C# é uma linguagem de programação versátil utilizada para criar uma ampla gama de aplicações, desde jogos digitais até soluções empresariais para desktop e web. Para quem está começando, há diversos cursos e vídeos que ajudam a compreender desde o básico até o avançado.

C#

C#

Estrutura C#

Tipos de estrutura C#

https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/builtin-types/struct1

Exemplo de uma estrutura C#

https://andrielleazevedo.wordpress.com/2011/12/10/estrutura-de-um-programa-em-c/#:~:text=A%20estrutura%20de%20um%20programa,arquivos%20contendo%20os%20seguintes%20elementos%3A&text=Tipos%20(classes%2C%20estruturas%2C%20interfaces,declarações%2C%20comentários%2C%20instruções).

Sugestão de material didático

Stackoverflow
Documentação oficial

Exemplos/Tutoriais

Ternário
Condicionais
Classes e Objetos
Primeira Aplicação C#

Ferramentas

VS Code

Apesar de ser um editor de textos para desenvolvedores, o Visual Studio Code (ou vscode), é tão completo que é frequentemente confundido como uma IDE. Criada pela Microsoft, o vscode é um editor open source multiplataforma e com diversos recursos para o desenvolvimento C#.

Possui suporte nativo ao JavaScript, TypeScript, JSON, HTML, CSS e outras tecnologias, além disso, é possível instalar plugins para melhorar o suporte para outras tecnologias, como o próprio C#.

Muito utilizado na comunidade, o VScode, apesar de não ser uma IDE, é tão poderosa quanto.Para instalar o vscode, é só acessar sua página oficial e realizar seu download.

Jetbrains Rider

Lançada em 2017 pela Jetbrains, o Rider é uma IDE para desenvolvimento em C# e toda o seu ecossistema, permitindo a criação de aplicações .NET, jogos com Unity, aplicativos móveis com Xamarin e aplicações web com ASP .NET e ASP .NET Core. Multiplataforma, é possível realizar seu download em diferentes sistemas operacionais como windows, linux e macOS.

Um dos principais concorrentes do Visual Studio, o Rider possui inúmeros recursos, o que facilita a adoção e o uso da IDE em projetos C#. Alguns desses recursos podem ser vistos abaixo:

O Rider é uma excelente IDE, muito utilizada no mercado. Seu uso facilita a criação de aplicações C#. O download do Rider poderá ser realizado em seu próprio site.

Visual Studio

Lançado em 1997 pela Microsoft, o Visual Studio é a principal IDE para desenvolvimento C# e todos os seus frameworks, como o .NET e ASP.NET. Além disso, o Visual Studio possui suporte nativo a outras linguagens, como Visual Basic, C, C++ e F#, o tornando ainda mais completo.

Suportado pelo Windows e macOS, é uma das IDEs para desenvolvimento C# rica de funcionalidades que facilitam a implementação de aplicações. Além disso, o Visual Studio provê diversos recursos para ajudar o desenvolvedor, como podemos ver abaixo:

Referências

https://docs.microsoft.com/pt-https://docs.microsoft.com/pt-https://www.blogson.com.br/exemplo-de-uma-aplicacao-de-console-usando-c-sharp/

https://www.treinaweb.com.br/blog/principais-ides-para-desenvolvimento-c#:~:text=Lançado%20em%201997%20pela%20Microsoft,o%20tornando%20ainda%20mais%20completo.
https://www.devmedia.com.br/introducao-a-linguagem-csharp/27711
https://pt.stackoverflow.com/questions/204430/para-que-serve-e-onde-pode-usar-c
https://www.youtube.com/watch?v=PjgP78hzWO4
https://www.youtube.com/watch?v=2TMqTHTh8p8&list=PLxNM4ef1BpxgRAa5mGXlCoSGyfYau8nZI
https://pt.stackoverflow.com/questions/tagged/c%23
https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/if-else
https://docs.microsoft.com/pt-br/dotnet/csharp/fundamentals/tutorials/classes
br/visualstudio/get-started/csharp/tutorial-console?view=vs-2019
br/dotnet/csharp/https://docs.microsoft.com/pt-br/dotnet/csharp/indexers

https://docs.microsoft.com/pt-br/dotnet/samples-and-tutorials/

Sugestão de vídeos

Curso de C# - Básico ao Avançado
Aprenda C# em 15 minutos (básico)
C# Para Iniciantes

Utilização

Mobile

https://docs.microsoft.com/pt-br/xamarin/get-started/what-is-xamarin

Desktop

https://www.devmedia.com.br/artigo-easy-net-magazine-1-aplicacoes-desktop-no-net/16590

Web

https://docs.microsoft.com/pt-br/visualstudio/ide/quickstart-aspnet-core?view=vs-2019

Jogos Digitais

http://desenvolvimentodejogos.wikidot.com/csharp

Conceitos básicos

Máquina virtul

C# usa o conceito de máquina virtual (como o Java).

Em linguagens de programação anteriores (como o C++) o código fonte (o que você escreve) é convertido através do compilador em código binário (o que a máquina entende) sob medida para determinada arquitetura de hardware e sistema operacional.

Caso você precise que este mesmo programa seja executado em outra plataforma, é necessário reescrever parte dele para que ele fique compatível com este novo ambiente.

No C# existe uma camada intermediária entre o sistema operacional e a sua aplicação. Essa máquina virtual deixa o sistema operacional “transparente” para você. Ou seja, você não precisa se preocupar com o ambiente onde seu programa rodará, já que a máquina virtual fará isso por você. Esta máquina virtual é conhecida como CLR (Common Language Runtime).

O compilador C# transforma seu código em uma linguagem intermediária (que é comum a todas as linguagens da plataforma .NET), a CIL (Common Intermediate Language).

Polimorfismo

Polimorfismo vem do grego e significa “muitas formas”.

Neste conceito, objetos filhos do mesmo objeto pai podem ter comportamentos diferentes para uma mesma mensagem.

Voltando ao nosso exemplo anterior, os objetos PessoaFisica PessoaJuridica possuem um atributo chamado ValidarDocumento. Como o tipo de documento é diferente de acordo com o tipo de Pessoa, este atributo (apesar do mesmo nome) se comporta de maneira diferente dependendo do documento (CPF ou CNPJ).

Herança

Na herança um objeto pode estender todas as características de um outro objeto e ainda possuir suas próprias características.

Como exemplo podemos utilizar os objetos PessoaFisica PessoaJuridica. Eles possuem características em comum, como nome endereço. Para evitar a duplicação de código, criamos um objeto chamado Pessoa com nome endereço. Daí os objetos PessoaFisica PessoaJuridica podem ser herdeiras do objeto Pessoa.

Assim, os objetos PessoaFisica PessoaJuridica possuem os atributos nome endereço (por conta da herança) mas podem possuir características próprias. PessoaFisica tem o atributo CPF e o PessoaJuridica tem o CNPJ.

 

Encapsulamento

Encapsulamento, como o nome já diz, consiste em proteger parte do código. Fazer este isolamento facilita a manutenção e torna o software mais flexível. Assim, detalhes internos do funcionamento do objeto ficam ocultos dos demais.

Exemplificando: imagine um objeto chamado Conta que possui uma propriedade saldo. Quando eu quiser mostrar o saldo na tela, eu não preciso saber que tipo de operações ele executa para chegar neste valor. Eu simplesmente peço o saldo e mostro.

Abstração

É o conceito de, a partir de um objeto real, traduzir suas principais características dentro da aplicação, sem se preocupar com pontos acidentais.

Ou seja, traspor um objeto do mundo real para o mundo virtual através de aspectos relevantes do problema a ser resolvido.

Por exemplo, considere o objeto Cliente. Um cliente no mundo real tem um atributo chamado peso.

Numa aplicação de um banco (tipo conta corrente) meu objeto Cliente não precisa desta propriedade, pois é irrelevante para este tipo de sistema. Mas se estiver desenvolvendo um aplicativo de acompanhamento de dieta? Neste caso o peso é uma propriedade essencial.

Orientação a objetos

Programação Orientada a Objetos (POO) é um padrão de desenvolvimento. O termo foi criado por Alan Kay, mas as ideias foram utilizadas primeiramente na linguagem Simula 67, de Ole Johan Dahl e Kristen Nygaard, em 1967.

Ela foi criada para tentar representar o mundo real dentro de um programa de computador. A ideia básica é utilizar objetos virtuais para representar objetos reais. Por exemplo: cliente, pedido, país, etc.