You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/1-Introdução/1-Boas-vindas.md
+4-2
Original file line number
Diff line number
Diff line change
@@ -17,12 +17,13 @@ Agora, o J++, a Microsoft teve que repensar a estratégia de como lidar com dife
17
17
18
18
Esta então nova linguagem teve seu design baseado em diversas outras linguagens do mercado como Java, C, C++, Smallwalk, Delphi e VB, com a ideia de estudar os problemas existentes e incorporar soluções.
# 2.1 Editores de Texto / [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado)
2
-
A enfase desse curso será a parte básica do C#, portanto, você poderá utilizar qualquer ambiente de desenvolvimento que preferir.
2
+
3
+
A enfase desse curso será a parte básica do C#, portanto, você poderá utilizar qualquer ambiente de desenvolvimento que preferir.
3
4
No entanto, é importante ressaltar que em empresas ou pessoas que desenvolvem projetos nessa linguagem tendem a usar o Visual Studio ou o VSCode.
4
-
Porém, sintam-se confortável para utilizar qualquer [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) ou editor de texto que se sentir confortável.
5
+
Porém, sintam-se confortável para utilizar qualquer [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) ou editor de texto que se sentir confortável.
Copy file name to clipboardExpand all lines: docs/2-Ambiente/2-Sistemas-Operacionais.md
+3-3
Original file line number
Diff line number
Diff line change
@@ -3,11 +3,11 @@
3
3
Infelizmente, algumas pessoas ainda possuem em suas mentes que "Quem programa em C#, necessariamente programa no Windows".
4
4
Para tal, gostaríamos de abrir a sua mente e apresentar duas frameworks que são utilizadas para desenvolver em C#.
5
5
6
-
- .Net Framework.
7
-
- .Net Core.
6
+
-.Net Framework.
7
+
-.Net Core.
8
8
9
9
O primeiro, é amplamente utilizado para desenvolvimento de aplicações Windows, usando Windows Forms, WPF e aplicações Web utilizando ASP .NET MVC.
10
10
11
11
Já o segundo é [open-source](https://github.com/dotnet/core) e multiplataforma (pode ser utilizado para criar aplicações em Linux, Mac e Windows)
12
12
13
-
Portanto, não se preocupe com o sistema operacional que estiver utilizando.
13
+
Portanto, não se preocupe com o sistema operacional que estiver utilizando.
Para este curso, utilizaremos o [SDK](https://pt.wikipedia.org/wiki/Kit_de_desenvolvimento_de_software) do .Net Core no decorrer dos tópicos, e por ser multiplataforma, você pode rodar seus projetos desenvolvidos em outros sistemas, no Windows também!
3
4
4
5
## Instalando o .NET Core
5
-
- Entre [nesse](https://dotnet.microsoft.com/download/dotnet-core/3.1) link e baixe o instalador do [SDK](https://pt.wikipedia.org/wiki/Kit_de_desenvolvimento_de_software) do .Net Core para o Windows de acordo com a sua arquitetura.
- Para instalar, basta clicar no instalador baixado, e esperar a instalação.
7
+
- Entre [nesse](https://dotnet.microsoft.com/download/dotnet-core/3.1) link e baixe o instalador do [SDK](https://pt.wikipedia.org/wiki/Kit_de_desenvolvimento_de_software) do .Net Core para o Windows de acordo com a sua arquitetura.
- Para instalar, basta clicar no instalador baixado, e esperar a instalação.
9
11
10
-
- Para rodar nossos códigos desenvolvidos nesse curso, recomendamos a utilização do [Visual Studio Code (VSCode)](https://code.visualstudio.com/), por ser leve e simples de utilizar.
12
+
-Para rodar nossos códigos desenvolvidos nesse curso, recomendamos a utilização do [Visual Studio Code (VSCode)](https://code.visualstudio.com/), por ser leve e simples de utilizar.
11
13
12
14
## Criando o projeto
15
+
13
16
Entre na pasta que você guarda seus projetos e use: `dotnet new console -n HelloWorld`
14
-
17
+
15
18
Irá criar uma pasta HelloWorld com um arquivo `.csproj` que é a configuração do nosso projeto, contendo a versão e em qual framework estamos utilizando nesse projeto, nesse caso, é o .Net Core 3.1
16
19
17
20
Também terá outro arquivo `.cs` que é um exemplo de código que mostra `Hello World!` na tela!
18
21
19
22
## Rodando o projeto
23
+
20
24
Depois de tudo instalado e configurado use o comando no terminal do VSCode `dotnet run` para rodar o projeto, um `Hello World!` deve aparecer no console.
## Alternativas de Editores / [IDEs](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado)
29
+
25
30
Para desenvolver nossos códigos com C#, tudo que precisamos é um editor de texto/código e um terminal para executar o programa.
26
31
27
32
Porem temos ótimas ferramentas mais robustas para melhorar a longo prazo a produtividade do desenvolvimento dos softwares.
28
33
29
-
#### Visual Studio
34
+
#### Visual Studio
35
+
30
36
Essa ferramenta para o Windows é simplesmente incrível, ela exige um hardware um pouco melhor, mas ela é excelente quando precisamos desenvolver aplicativos Web, Desktop (Windows), Mobile e muitos mais.
31
37
32
38
> Note: O Visual Studio só é disponibilizado nos sistemas operacionais Windows e Mac OS.
@@ -49,28 +55,16 @@ Use o `CRTL + F5` para executar o programa, e veja a magia!
Essa é uma [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) da [JetBrains](https://www.jetbrains.com/rider/) focada no desenvolvimento usando tecnologias suportadas pelo .Net Core para vários sistemas, incluindo o Windows!
53
60
54
61
#### MonoDevelop
62
+
55
63
Mais uma incrível ferramenta para desenvolvimento multiplataforma usando o .Net Core, e além disso, é uma [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) gratuita e [Open Source](https://github.com/mono/monodevelop)
56
64
57
65
#### Notepad++ + Windows Terminal :D
66
+
58
67
Como já foi mencionado, é possível programar c# independente da [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) / Editor de texto, uma prova disso, é esse casal maravilhoso.
Copy file name to clipboardExpand all lines: docs/2-Ambiente/4-Linux.md
+9-10
Original file line number
Diff line number
Diff line change
@@ -4,29 +4,28 @@ Como conversamos anteriormente, sabemos que é possível programar em C# utiliza
4
4
5
5
## Passos
6
6
7
-
-[Instalem o SDK](https://docs.microsoft.com/pt-br/dotnet/core/install/linux) neste link terá uma série de códigos disponibilizados pela própria microsoft, para nos ajudar a instalar o [SDK](https://pt.wikipedia.org/wiki/Kit_de_desenvolvimento_de_software) pelo terminal.
8
-
- Após instalado, verifique a versão do .Net Core utilizando o seguinte comando em seu terminal: ``dotnet --info``. Caso não haja erro na instalação, você verá a versão instalada do .Net Core.
9
-
- Instalem um editor de texto de seu interesse. (No geral os desenvolvedores tem um apresso por esse editor, então daremos algumas dicas de extensões para utilizar).
10
-
- Como extensões indicaremos 3: (C#, C# Extensions e NuGet Package Manager*)
11
-
- Crie seu projeto dentro da pasta que você preferir**
12
-
- Rode seu projeto criado.
7
+
-[Instalem o SDK](https://docs.microsoft.com/pt-br/dotnet/core/install/linux) neste link terá uma série de códigos disponibilizados pela própria microsoft, para nos ajudar a instalar o [SDK](https://pt.wikipedia.org/wiki/Kit_de_desenvolvimento_de_software) pelo terminal.
8
+
-Após instalado, verifique a versão do .Net Core utilizando o seguinte comando em seu terminal: `dotnet --info`. Caso não haja erro na instalação, você verá a versão instalada do .Net Core.
9
+
-Instalem um editor de texto de seu interesse. (No geral os desenvolvedores tem um apresso por esse editor, então daremos algumas dicas de extensões para utilizar).
-Crie seu projeto dentro da pasta que você preferir\*\*
12
+
-Rode seu projeto criado.
13
13
14
-
*: Para este curso básico esta extensão não é necessária. Porém, futuramente pode vir a ser.
14
+
\*: Para este curso básico esta extensão não é necessária. Porém, futuramente pode vir a ser.
15
15
16
16
## Criando seu projeto:
17
17
18
18
Para criar seu projeto em C#, devemos utilizar o seguinte comando no terminal:
19
-
``dotnet new <Tipo do Projeto>``
19
+
`dotnet new <Tipo do Projeto>`
20
20
21
21
OBS: Se não definirmos o tipo do projeto, criaremos um console application. (Aconselho este tipo de projeto para o tutorial)
22
22
23
23
Além disso, é possível definir qual o tipo de projeto você pretende criar. [E, para facilitar nossas vidas, a microsoft nos disponibilizou uma série de argumentos para utilizar.](https://docs.microsoft.com/pt-br/dotnet/core/tools/dotnet-new)
24
24
25
25
## Executando seu projeto:
26
26
27
-
Após criado seu projeto você pode executá-lo pela sua [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) ou utilizando o comando ``dotnet run`` em seu terminal.
27
+
Após criado seu projeto você pode executá-lo pela sua [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) ou utilizando o comando `dotnet run` em seu terminal.
28
28
29
29
## Alternativas de [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado)
30
30
31
31
Como alternativas ao VSCode, gostaria de sugerir o Rider, uma [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) desenvolvida pela [JetBrains](https://www.jetbrains.com/rider/) e também o [MonoDevelop](https://www.monodevelop.com/), porém, como ressaltei no começo, escolha o editor de texto ou [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) que preferir.
Copy file name to clipboardExpand all lines: docs/2-Ambiente/5-MacOS.md
+7-2
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,10 @@
1
1
# 2.5 MacOS
2
+
2
3
Para este curso, utilizaremos o [SDK](https://pt.wikipedia.org/wiki/Kit_de_desenvolvimento_de_software) do .Net Core versão 3.1 no decorrer dos tópicos, e por ser multiplataforma, você pode rodar seus projetos desenvolvidos em outros sistemas, no MacOS também!
3
4
4
-
## Instalando o .NET Core
5
-
Instalar o [SDK](https://pt.wikipedia.org/wiki/Kit_de_desenvolvimento_de_software) do .Net Core em um MacOS chega a ser tão fácil que fica chato, mas antes de tudo você deve conferir se o seu sistema MacOS tem suporte para rodar o .NET Core versão 3.1 que será utilizado nesse projeto, nesse [link](https://docs.microsoft.com/pt-br/dotnet/core/install/MacOS) você pode ver uma tabela com às versões do .Net Core suportada pro cada versão do MacOS.
5
+
## Instalando o .NET Core
6
+
7
+
Instalar o [SDK](https://pt.wikipedia.org/wiki/Kit_de_desenvolvimento_de_software) do .Net Core em um MacOS chega a ser tão fácil que fica chato, mas antes de tudo você deve conferir se o seu sistema MacOS tem suporte para rodar o .NET Core versão 3.1 que será utilizado nesse projeto, nesse [link](https://docs.microsoft.com/pt-br/dotnet/core/install/MacOS) você pode ver uma tabela com às versões do .Net Core suportada pro cada versão do MacOS.
6
8
7
9
Caso o seu sistema MacOS tenha suporte a essa versão do .NET Core 3.1, você pode acessar o site oficial do .NET Core 3.1 e fazer o download do arquivo de instalação para o seu sistema MacOS.
8
10
@@ -21,6 +23,7 @@ Esse comando deve solicitar qual é a versão do .Net Core instalada na sua máq
21
23
> Nota: Lembre-se que você deve iniciar um terminal após a instalação do dotnet, se não o shell não vai encontra a variável de ambiente dotnet
22
24
23
25
## Instalando o Visual Studio para Mac
26
+
24
27
A Microsoft disponibilizar uma versão da sua [IDE](https://pt.wikipedia.org/wiki/Ambiente_de_desenvolvimento_integrado) para MacOS, você pode efetuar o download dessa versão acessado o site oficial do Visual Studio
@@ -30,6 +33,7 @@ Não vamos entrar em deatelhes na sua instalação já que se trata de uma insta
30
33
> Nota: A instalação do Visual Studio vai oferecer mais algumas opções de pacotes para desenvolvimento mobile que não são necessária, instalá-los ou não vai de acordo com a sua preferência.
31
34
32
35
## Instalando o Visual Studio Code
36
+
33
37
A Microsoft disponibilizar uma versão para MacOS, você pode efetuar o download dessa versão acessado o site oficial do Visual Studio
@@ -43,6 +47,7 @@ Um detalhe que você possa querer em seu VSCode é configurar a variável de amb
43
47
Para mais detalhes você pode dar uma olhada na documentação do VSCode em [https://code.visualstudio.com/docs/setup/mac](https://code.visualstudio.com/docs/setup/mac)
44
48
45
49
## Criando seu projeto
50
+
46
51
O .Net Core oferece um comando que disponibiliza a criação de alguns projetos usando modelos pré-fabricados por eles.
47
52
48
53
Para criar um novo projeto com base em algum modelo, basta executar em seu terminal o comando `dotnet new <Tipo do projeto>`.
Copy file name to clipboardExpand all lines: docs/3-Básico/01-Declaração-de-variáveis.md
+5-6
Original file line number
Diff line number
Diff line change
@@ -4,18 +4,17 @@ Antes de utilizar uma variável, é necessário, OBRIGATORIAMENTE, declara-la e
4
4
5
5
O nome de uma variável é referenciado como um identificador. Em C# existem regras específicas na criação de um identificador:
6
6
7
-
- Um nome de variével PODE conter apenas letras, números ou underscore.
7
+
-Um nome de variével PODE conter apenas letras, números ou underscore.
8
8
9
-
- Um nome de variável PRECISA começar com uma letra ou com underscore.
9
+
-Um nome de variável PRECISA começar com uma letra ou com underscore.
10
10
11
-
- Um nome de variável não pode ser uma das palavras reservadas (if, for, while, string, etc), sendo que é possível usando um @ antes da palavra, ex: @if . Mas veremos isso mais a fundo um pouco mas a frente!
11
+
-Um nome de variável não pode ser uma das palavras reservadas (if, for, while, string, etc), sendo que é possível usando um @ antes da palavra, ex: @if . Mas veremos isso mais a fundo um pouco mas a frente!
12
12
13
13
Além disso, é importante frizar que o nome de variável, tal como outras linguagens de programação é case-sensitive, ou seja, a variável valor é diferente da variável Valor.
14
14
15
-
16
15
É importante também falar que no mundo empresarial a gente utiliza alguns padrões de nomenclatura:
17
16
18
-
- Para variáveis utilizamos o camelCase.
19
-
- Para classes e funções utilizamos o PascalCase.
17
+
-Para variáveis utilizamos o camelCase.
18
+
-Para classes e funções utilizamos o PascalCase.
20
19
21
20
Veja uma nomenclatura mais completa [aqui](https://github.com/Speckoz/Nomenclatura)
Uma coisa que vale ressaltar, é sobre o ``var`` e também o ``dynamic`` que podem ser facilmente mal entendidos.
25
+
Uma coisa que vale ressaltar, é sobre o `var` e também o `dynamic` que podem ser facilmente mal entendidos.
26
26
27
27
### var
28
+
28
29
Essa paravra-chave do C# é utilizada para 2 contextos.
30
+
29
31
1. Puramente sintático - ou seja, quando voce utiliza **var** no seu código, o tipo atribuido é interpretado pelo compilador pelo resultado da expressao de atribuiçao, ex:
32
+
30
33
```csharp
31
34
var@int=10; // isso é entendido pelo compilador como um numero inteiro (int)
32
35
var@double=10.0// este é visto como o tipo double, ja que nao foi explicitado o tipo flutuante (D, d, m, M, f, F) repectivamente double, decimal e float
33
36
```
34
37
35
38
2. Tiposanonimos-issoocorrequandooresultadodaexpressaodeatribuiçaonãopossuiumtipoexplicitado, eocompilador é oresponsavelporgerarumtipoemtempodecompilação, ex:
39
+
36
40
```csharp
37
41
varvalue=new { IsValue=true };
38
42
@@ -43,11 +47,12 @@ var value = new { IsValue = true };
43
47
**Uma coisa muito importante, é que o [var] não é um tipo!**
44
48
45
49
### dynamic
50
+
46
51
Essa palavra-chave, permite que voce acesse um metodo/prop/campo sem que precise saber o seu tipo.
47
52
O termo tecnico disso é dado por [Late Binding](https://en.wikipedia.org/wiki/Late_binding#Late_binding_in_.NET).
48
53
49
54
Uma coisa interessante sobre o **dynamic** é que caso durante o acesso do tipo, caso ele não encontre, irá disparar um erro em tempo de execuçao, a famosa, Exception!
50
55
51
56
## Tipos Personalizados
52
-
CSharp, por ser uma linguagem orientada à objeto, permite a criação de classes para serem utilizadas como objetos. Além disso, permitem, enum, structs e interface.
53
57
58
+
CSharp, por ser uma linguagem orientada à objeto, permite a criação de classes para serem utilizadas como objetos. Além disso, permitem, enum, structs e interface.
0 commit comments