diff --git a/content/brazilian-portuguese/csharp-basics/classes-and-objects.md b/content/brazilian-portuguese/csharp-basics/classes-and-objects.md deleted file mode 100644 index 29cfae06d..000000000 --- a/content/brazilian-portuguese/csharp-basics/classes-and-objects.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: "Classes e Objetos" -description: "Introduza classes e objetos em C#." -date: 2024-09-16T00:00:00Z -weight: 8 ---- - -## O que é um Objeto e o que é uma Classe? - -Um Objeto é uma coisa (substantivo) que possui certas características e pode realizar certas tarefas. Uma Classe é o modelo ou definição para esse objeto quando ele é criado. - -Um exemplo é uma Pessoa. Uma Pessoa é um tipo de Classe. Uma pessoa pode ter certas características que a distinguem de outra pessoa. Pode ter olhos azuis, pode ter 15 anos, etc. Uma pessoa também pode realizar certas tarefas. Pode caminhar, pode falar, etc. - -Um Objeto C# é uma instância de uma Classe C#. Nesta instância, "Bea" é uma "Pessoa". "Bea" tem olhos castanhos. Esta é uma propriedade (ou campo de dados) de "Bea". "Bea" pode falar em inglês. "Bea" pode falar em espanhol. Estes são métodos que "Bea" pode executar. - -## Criando uma Classe! - -C# é uma linguagem de programação **orientada a objetos**, o que significa que tudo em C# está associado a um **objeto** e uma **classe** (o modelo para o objeto). - -Para começar, a linha de código que usamos para imprimir declarações da atividade 1 é, na verdade, uma chamada de método de uma classe predefinida chamada `System`! - -```csharp -Console.WriteLine("Hello World"); -``` - -1. `Console` é uma classe que lida com entrada e saída do usuário. -3. `WriteLine()` é um método definido na classe `Console`. - -Outra classe embutida com a qual interagimos nos exercícios anteriores é `string`. A classe `string` define um conjunto de regras sobre como uma lista de caracteres deve se comportar. - -Com a seguinte linha de código, criamos um objeto `string` chamado `name` usando as regras definidas na classe `string`: - -```csharp -string name = "Patrick"; -``` - -`Console` e `string` são classes predefinidas em C#. No entanto, não estamos limitados a essas classes predefinidas e podemos, na verdade, criar nosso próprio tipo de dados escrevendo uma classe! Isso é útil para os programadores criarem objetos específicos para ter certos atributos e comportamentos. Ter acesso a esses tipos definidos pelo usuário nos permite construir programas distintos. - -Vamos aprender sobre as diferentes partes de uma classe abaixo: - -{{% notice note %}} -### Classe -Uma classe é um modelo ou protótipo de um novo tipo de objeto. Em geral, uma classe contém três partes importantes: - - - -**Elemento** | **Descrição** | **Exemplo** ----|---|--- -**campos de dados/variáveis de instância** | variáveis que um objeto desta classe tem acesso que descrevem o objeto | Por exemplo, uma classe Pessoa poderia ter campos corDosOlhos, idade, altura. -**construtor** | método chamado automaticamente quando um objeto dessa classe é criado, construtores têm o mesmo nome da classe | Pode haver mais de um construtor por classe -**métodos** | métodos para o objeto desta classe realizar certas tarefas | A classe Pessoa poderia ter métodos falar e andar. - -Por exemplo: - -```csharp -public class Person{ - // (1) campos de dados/variáveis de instância - private String name; // exemplo - private int age; - private int height; - - // (2) construtor - construtores têm o mesmo nome da classe - public Person() - { - name = "Bea"; - age = 29; - height = 167; - } - - // (2) construtor - você pode ter mais de um - public Person( String nameInput, int ageInput, int heightInput) - { - name = nameInput; - age = ageInput; - height = heightInput; - } - - // (3) métodos - public void talk() - { - Console.WriteLine($"Hello from {name}"); - } -} -``` - -{{% /notice %}} - -## Tente Você Mesmo 🐥! - -Vamos criar uma classe `Bird` para representar Patrick 🐥 e todos os seus amigos pássaros seguindo os passos abaixo! - - - -{{% notice tip %}} - -Você pode comentar seu código para que o computador não o execute. - -```c# -Console.Write("Eu gosto de comer"); -// Console.Write("maçãs."); -``` - -Irá escrever "Eu gosto de comer" no console, mas não escreverá "maçãs". -{{% /notice %}} \ No newline at end of file diff --git a/content/brazilian-portuguese/csharp-basics/control-structures.md b/content/brazilian-portuguese/csharp-basics/control-structures.md deleted file mode 100644 index 7fa5a6c8c..000000000 --- a/content/brazilian-portuguese/csharp-basics/control-structures.md +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: "Estruturas de Controle" -description: "Introduzir if-else, for, e while loops em C#." -date: 2024-09-16T00:00:00Z -weight: 6 ---- - -## Tomar Decisão: If-Statement - -Patrick 🐥 é um pato muito educado que gosta de cumprimentar todos com "Bom Dia", "Boa Tarde" ou "Boa Noite" dependendo do horário atual. - -![Sol nascendo rapidamente sobre uma montanha](https://media.giphy.com/media/hpWrLS1RDBd5pwkgjy/giphy.gif) -
(imagem por National Geographic: giphy.com/natgeochannel)
- -Como aprendemos antes, podemos imprimir essas declarações da seguinte forma: - -```C# -Console.WriteLine("Bom Dia"); // dizer isso entre 0:00 - 11:59 -Console.WriteLine("Boa Tarde"); // dizer isso entre 12:00 - 19:59 -Console.WriteLine("Boa Noite"); // dizer isso entre 20:00 - 23:59 -``` - -No entanto, também sabemos que Patrick 🐥 deve decidir dizer uma dessas declarações com base no horário atual. - -Em outras palavras, precisamos escrever um código que tome uma decisão sobre o que imprimir com base nas condições da situação (condicionalmente). - -Em C#, tomamos uma decisão usando uma **if statement** ou uma **if...else statement**. Leia as notas abaixo: - -{{% notice note %}} -### If Statement - -``` -if(expressão booleana){ - Ação(ões) a Tomar -} -``` - -Uma **if statement** segue a estrutura mostrada acima. As ações a serem tomadas (instruções) no bloco só serão executadas se a expressão booleana for `true`. Caso contrário, o programa pulará para a instrução após o bloco se a expressão booleana for `false`. - -### If-Else Statement - -``` -if(expressão booleana){ - Ação(ões) a Tomar A -}else{ - Ação(ões) a Tomar B -} -``` - -Uma **if-else statement** segue a estrutura mostrada acima. Se a expressão booleana for `true`, o programa executará a `Ação(ões) a Tomar A` dentro do bloco `if`. Caso contrário, o programa executa apenas a `Ação(ões) a Tomar B` dentro do bloco `else`. - -### Exemplo - -```C# - bool likeMusic = true; - if(likeMusic == true) - { - Console.WriteLine("Eu gosto de Música"); - } - else - { - Console.WriteLine("Eu não gosto de Música"); - } -``` - -O código acima imprimirá a declaração `Eu gosto de Música` porque a expressão booleana, `likeMusic == true`, é verdadeira. -{{% /notice %}} - -Vamos revisitar o exemplo de saudação acima e tomar uma decisão para Patrick sobre se deve dizer "Bom Dia", "Boa Tarde", "Boa Noite". - -Patrick deve dizer "Bom Dia" entre 0:00 - 11:59, "Boa Tarde" entre 12:00 - 19:59, e "Boa Noite" entre 20:00 - 23:59. - -1. Temos uma variável `currentHour` que armazena a hora atual. -2. Preencha a `expressão booleana A` e a `expressão booleana B` corretas para completar o programa. -3. Teste seu resultado atribuindo à variável `currentHour` números de 0 a 23: - - - -## Repetir Novamente: For-Loop, While-Loop - -Na aula de matemática, o professor de Patrick 🐥 pede à turma para resolver um desafio matemático, e ele pode precisar de ajuda. - -O professor pede para encontrar a **soma de 1, 2, 3, ...., 100**. Isto é, o que é **1 + 2 + 3 + 4 ... + 99 + 100**? - -Enquanto podemos colocar isso em uma calculadora, isso vai demorar um pouco. Felizmente, em C#, você pode facilmente calcular isso em 3 linhas com a ajuda de um **for loop** ou **while loop**. - -{{% notice note %}} -**For loops** e **While loops** são estruturas de controle em C# que permitem executar blocos de código várias vezes. - -### While Loop - -``` -while(expressão booleana){ - Ação( \ No newline at end of file diff --git a/content/brazilian-portuguese/csharp-basics/methods.md b/content/brazilian-portuguese/csharp-basics/methods.md deleted file mode 100644 index eb4799601..000000000 --- a/content/brazilian-portuguese/csharp-basics/methods.md +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: "Métodos" -description: "Introdução a métodos em C#." -date: 2024-09-16T00:00:00Z -weight: 7 ---- - -## O que é um Método? - -Até agora, aprendemos como armazenar dados em variáveis, imprimir dados e frases, e tomar decisões com `if`, `for`-loops e `while`-loops. - -Do último exercício, sabemos que o seguinte bloco de código calcula a soma de 1 a 100: - -```C# -int total = 0; -int num = 1; -while(num <= 100){ - total = total + num; - num = num + 1; -} -Console.WriteLine("Sum: " + total); -``` - -Mas e se quisermos calcular a soma de 1 a 77? Como fazemos isso sem escrever todo o bloco de código novamente? - -Queremos criar uma ✨ caixa mágica ✨ no código que faz o cálculo para nós, não importa quais 2 números queremos somar! - - -Em C#, um **método** é como a caixa mágica que executa uma tarefa específica ao rodar um bloco de código que pode usar entradas do usuário. - -Existem 2 partes em um método: assinatura e corpo: - -{{% notice note %}} -### Assinatura do Método - -Para definir um método, primeiro precisamos escrever sua assinatura do método. Um cabeçalho de assinatura tem quatro partes principais: - -``` -access_specifier return_type method_name(list_of_parameters) -``` - -**Nome da Parte** | **Descrição** | **Exemplos ou possíveis opções** -----|----|---- -**especificador de acesso** | fornece o nível de acesso ao método | `public` diz ao computador que qualquer um pode usar esse método. `private` diz ao computador que só pode ser chamado dentro de uma classe. (Vamos aprender sobre classes na próxima página!) `protected` diz ao computador que pode ser chamado por objetos da mesma classe. -**tipo de retorno** | tipo de dado que é retornado para a função chamadora, tecnicamente o tipo de retorno não faz parte da assinatura em C# | `string` ou `int`, use `void` se o método não retornar nada. -**nome do método** | nome do método, usado para chamá-lo | um nome descritivo que você escolhe com base no que o método faz. -**lista de parâmetros** | lista de entradas que devem ser fornecidas quando o método é usado | pode ter zero ou mais parâmetros na forma de (`type` `name`, `type` `name`, ... ). Use () para nenhum parâmetro. - -``` -// um exemplo que recebe uma string como parâmetro e retorna outra string como resposta -public string artist (string songName) -``` -**Nota:** Os nomes das variáveis para os parâmetros não precisam corresponder ao nome da variável dos dados sendo passados para o método. - -### Corpo do Método - -Em seguida, colocamos o bloco de código associado ao método no **corpo do método**, que está entre `{` e `}` após a assinatura do método. - -Para retornar alguns dados, usamos a palavra-chave `return` seguida por um nome de variável ou um valor a ser retornado. - -**Nota:** Uma vez que você usa `return`, nada mais a partir disso no método é executado. - -Este é um exemplo de como definir um método que soma números de `numA` a `numB`: - -```c# -/* Nome do Método: sumNum - * Entrada/Parâmetro: 2 números do tipo int - * Funcionalidade: retorna a soma de numA a numB - */ -public int sumNum(int numA, int numB){ - int total = 0; - int num = numA; // acessamos a primeira entrada com o nome numA - while(num <= numB){ // acessamos a primeira entrada com o nome numB - total = total + num; - num = num + 1; - } - return total; // declaração de retorno -} -``` - -### Chamada de Método - -Por fim, para executar um método em seu código, precisamos fazer uma **chamada de método**. Escrevemos o nome do método com a entrada apropriada. -Por exemplo: - -```C# -sumNum(1, 3); // uma linha de código que chama o método sumNum() com o valor de retorno 6 -``` - -Sabendo que `sumNum(1, 3)` retorna um `int` com a soma de 1 a \ No newline at end of file diff --git a/content/brazilian-portuguese/csharp-basics/operators.md b/content/brazilian-portuguese/csharp-basics/operators.md deleted file mode 100644 index fc54fd394..000000000 --- a/content/brazilian-portuguese/csharp-basics/operators.md +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: "Operadores" -description: "Introduza operadores e realize operações em variáveis no C#." -date: 2024-09-16T00:00:00Z -weight: 5 ---- - -## Vamos fazer Matemática: Operador Aritmético - -No último exercício, aprendemos sobre variáveis e como podemos atribuir valores a uma variável de um tipo específico, como: - -```C# -int idade = 3; // declara a variável idade do tipo int com valor 3 -idade = 4; // atribui 4 à variável idade -``` - -Observando o código acima, ele basicamente acrescenta 1 ao valor da variável `idade`. - -E, no C#, podemos realizar operações matemáticas diretamente em variáveis com **operadores aritméticos**: `+`, `-`, `*`, `/`, `%`. -Por exemplo, podemos usar o operador de adição `+` para adicionar 1 a `idade`: - -```c# -int idade = 3; // declara a variável idade do tipo int com valor 3 -idade = idade + 1;// adiciona 1 a idade -``` - -{{% notice note %}} -Os seguintes são os operadores aritméticos em C#: - -**Operador** | **Descrição** | **Exemplo** -------|------|-------- -`+` | adição | `1 + 1 = 2` -`-` | subtração | `2 - 1 = 1` -`*` | multiplicação | `3 * 3 = 9` -`/` | divisão | `9 / 3 = 3` -`%` | módulo/resto | `10 % 4 = 2` - -**Nota**: Se ambos os operandos da divisão forem inteiros, o resultado também será um inteiro. Por exemplo, `10 / 4` retorna 2, não 2.5 já que descartamos o resto. Se um dos operandos for um double, o resultado será um double. - -**Nota**: Use a operação de módulo (`%`) para obter o resto da operação de divisão. - -{{% /notice %}} - -{{% notice tip %}} -O operador de adição (`+`) é usado em Strings como um operador de concatenação. Por exemplo: - -`String nome = "Patric" + "k";` é o mesmo que `String nome = "Patrick";` -{{% /notice %}} - -### Instruções -1. Use o programa abaixo para praticar o uso dos operadores aritméticos. Mude os números para ver as respostas. - - - -## Comparações: Operador Relacional - -A seguir, vamos aprender como comparar números, usando **operadores relacionais**. - -Assim como na matemática, podemos comparar números usando `>`, `<`, `>=`, `<=`. Por exemplo: `(3 > 2)` é `true`, um valor booleano. - -{{% notice note %}} -Os seguintes são os operadores relacionais em C#: - -**Operador** | **Descrição** | **Exemplo** -------| ------| ------ -`==` | igual a | `(3 == 3)` é `true` -`!=` | diferente de | `(3 != 3)` é `false` -`>` | maior que | `(3 > 2)` é `true` -`<` | menor que | `(3 < 2)` é `false` -`>=` | maior ou igual a | `(3 >= 2)` é `true` -`<=` | menor ou igual a | `(2 <= 2)` é `true` - -Nota: `==` e `!=` só podem ser usados em dados do mesmo tipo. Por exemplo: -```csharp -int x=3; -double y=3.0; -x==y; // Isso gerará um erro porque x e y são de tipos diferentes. -``` - -{{% /notice %}} - -{{% notice tip %}} -Usar 1 sinal de igual atribui um valor à variável. Usar 2 sinais de igual compara os valores de dois elementos. - -```csharp -idade = 3; // define o valor de idade para 3 -idade == 3; // verifica se o valor de idade é 3 -``` -{{% /notice %}} - -### Prática de Comparação - -1. Use o programa abaixo para praticar o uso dos operadores de comparação. Mude os números para ver as respostas. - - - -## Estatísticas do Exame! - -Patrick 🐥 e 4 \ No newline at end of file diff --git a/content/brazilian-portuguese/csharp-basics/using-netfiddle.md b/content/brazilian-portuguese/csharp-basics/using-netfiddle.md deleted file mode 100644 index facefad19..000000000 --- a/content/brazilian-portuguese/csharp-basics/using-netfiddle.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "Usando .NET Fiddle" -date: 2024-09-17T00:00:00Z -weight: 1 -draft: false ---- - -### Usando .NET Fiddle -Hoje você usará o .NET Fiddle para aprender a programar em C#. - -Antes de começarmos, vamos entender como a janela funciona. No lado esquerdo, você tem uma lista de opções. Todas já estão configuradas, então não precisa se preocupar com elas. O centro da tela contém o código, ou as instruções para o computador executar. Ao pressionar o botão **run** (o botão com o triângulo no meio, na parte superior do quadro), você diz ao computador para executar as instruções no código. Os resultados da execução do código serão exibidos na parte inferior da tela. - - - -Passe algum tempo conhecendo a ferramenta abaixo. - - - -### Algumas dicas sobre C# - -Algumas dicas importantes: -1. Cada linha de código termina com um ponto e vírgula `;` -2. Haverá código nos exemplos que você não entenderá. Tudo bem, ignore por enquanto e foque na atividade que você está realizando. - -## Salvando seu trabalho - -Se você quiser salvar seu trabalho durante esses exercícios, precisará se inscrever em uma conta .NET Fiddle, caso ainda não tenha uma. - -Clique no botão abaixo para se inscrever em uma conta .NET Fiddle - você precisará de um email para se inscrever. Se já tiver uma conta .NET Fiddle, você pode entrar na sua conta usando o botão abaixo também. - -Inscreva-se no .NET Fiddle - - - -Então, você pode agora *fork* o Fiddle, o que significa apenas fazer uma cópia do programa, para que possamos fazer e salvar nossas próprias alterações. Clique no botão "Fork" no topo. - -Depois de fazer o fork do Fiddle, você verá uma janela semelhante à abaixo: - - \ No newline at end of file diff --git a/content/brazilian-portuguese/csharp-basics/variables.md b/content/brazilian-portuguese/csharp-basics/variables.md deleted file mode 100644 index 8628847c6..000000000 --- a/content/brazilian-portuguese/csharp-basics/variables.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Variáveis e Tipos de Dados" -description: "Introdução a tipos e variáveis em C#." -date: 2024-09-16T00:00:00Z -weight: 4 ---- - -## Variáveis: Dê um Nome! - -No primeiro exercício, aprendemos a imprimir diferentes declarações com `Console.WriteLine()` e `Console.Write()`. - -Embora seja ótimo imprimir um número ou uma frase, não lhes demos significado e, se quisermos usá-los novamente, teríamos que digitá-los novamente. - -Em C#, introduzimos a ideia de uma **variável** para os dados. Uma variável armazena um pedaço de dados com um nome. - -Por exemplo, pode haver uma variável chamada `myName` que é atribuída ao valor `"Ann"`. Outra variável pode ser chamada `age` e é atribuída ao número `12`. - -## Que Tipo! - -Então, como criamos essas variáveis em C# para armazenar dados? - -Antes de aprender a criar variáveis, precisamos aprender o conceito de **tipo de dado** em C# ou apenas **tipo** para abreviar. Tipo em C# descreve o que está sendo armazenado. Se você tem uma variável numérica, ela só pode conter números, não frases ou símbolos. Cada variável tem seu próprio tipo que controla que tipo de dados pode conter. - -Por exemplo, poderíamos ter uma variável chamada `age` que armazena o número `12`. Se você tentar armazenar a palavra `"twelve"` em `age`, isso gerará um erro porque ele só conhece números. - -Em C#, para uma variável armazenar números inteiros, use o tipo `int`. Declaramos uma variável `int` chamada `age` com o dado `3` com a linha de código: - -``` -int age = 12; -``` - -Em geral, para declarar uma variável, escrevemos no formato: `[tipo de dado] [nome da variável] = [dado];`. - -{{% notice note %}} -Os seguintes são os tipos de dados importantes que estão embutidos em C#: - -**Tipo** | **Descrição** | **Exemplos** ---------|-----------|---------- -`int` | inteiro | `20`, `30`, `35` -`char` | caractere, como um símbolo ou uma única letra do alfabeto | `'A'`,`'b'`, `'('`, `']'` -`string` | uma sequência de `char` | `"Hello"`, `"Bonjour"`, `"Hola"` -`bool` | booleano, tem um valor de `true` ou `false` | `true`, `false` -`double` | números fracionários | `2.0`, `3.14`, `9.33` -{{% /notice %}} - -Usando nosso exemplo anterior, para declarar essas variáveis em C#, digitamos o seguinte: - -```C# -string name = "Ann"; -int age = 12; -boolean loveMusic = true; -``` - -A última variável é interessante. Ela só pode ter um valor de `true` ou `false`. Veremos que isso pode ser muito útil nas seções mais avançadas deste workshop. - -## Brinque com variáveis - -Vamos ver o que podemos fazer com variáveis. - -No quadro .NET Fiddle abaixo, faça um fork do Fiddle e tente inserir essas linhas e **execute**: - -```C# -int age = 10; -Console.WriteLine(age); // imprime 10 -age = 12; // atribui o dado 12 à variável age -Console.WriteLine(age); // imprime 12 -``` - -Podemos atribuir um valor a uma variável, referenciá-lo e então mudar o valor. - - - -## Que Tipo -- Ajude o Patrick! - -Patrick 🐥 não é um mestre dos tipos de dados! Ele frequentemente os confunde ao declarar variáveis. Vamos ajudá-lo a corrigir seus erros no .NET Fiddle abaixo. - - \ No newline at end of file diff --git a/content/brazilian-portuguese/csharp-basics/write-to-console.md b/content/brazilian-portuguese/csharp-basics/write-to-console.md deleted file mode 100644 index 12c3f212b..000000000 --- a/content/brazilian-portuguese/csharp-basics/write-to-console.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Escrever no Console" -description: "Introduzir métodos de impressão em C#." -date: 2024-09-16T00:00:00Z -weight: 2 ---- - -## Seu primeiro programa em C# - -Nosso primeiro exercício é se familiarizar com a estrutura de uma aplicação C# simples que escreve no console. - -Vamos tentar executar um programa C# que imprime `Hello World` no console. A linha de código `Console.WriteLine ("Hello World");` faz isso por nós. Ela instrui o computador a escrever na tela o que estiver entre os (). - -### Vamos escrever algum código! - - - -No quadro acima do .NET Fiddle, adicione uma nova linha de código abaixo da primeira linha para imprimir "Hello *seu nome*". Deve ficar assim. - - - -Você deve ver sua saída na parte inferior da tela. Legal, né? - -Vamos tentar imprimir outras coisas. Adicione algumas linhas de código para: -1. Imprimir números colocando números nos parênteses (i.e. `Console.WriteLine(42);`). Sem necessidade de aspas duplas. -2. Juntar algum texto (i.e. `Console.WriteLine("Hi " + "Sally");`) - -{{% notice tip %}} -### Você percebeu que todas as instruções que digitou foram impressas em linhas diferentes? - -Às vezes, queremos escrever na mesma linha. Usamos um código ligeiramente diferente: `Console.Write` em vez de `Console.WriteLine`. - -Adicione duas linhas de código: -```csharp -Console.Write("I like to eat "); -Console.Write("apples."); -``` - -E experimente. -{{% /notice %}} - -{{% notice warning %}} -### !! Importante !! Às vezes, você não pode simplesmente colocar caracteres entre aspas "" - -Ao colocar caracteres entre `" "` em uma instrução de impressão, às vezes é fácil confundir o computador sobre quais caracteres imprimir. - -Por exemplo, como dizemos ao computador para imprimir `"`? - -Se você digitar `Console.WriteLine(""");`, obterá um erro porque o computador não consegue identificar onde o texto termina! - -Em vez disso, certos caracteres precisam ser escapados adicionando um `\` na frente deles. - -```csharp -Console.Writeline("\"");` // isso imprime " -``` -{{% /notice %}} \ No newline at end of file diff --git a/content/espanol/csharp-basics/classes-and-objects.md b/content/espanol/csharp-basics/classes-and-objects.md deleted file mode 100644 index d7e9f0e92..000000000 --- a/content/espanol/csharp-basics/classes-and-objects.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: "Clases y Objetos" -description: "Introducción a clases y objetos en C#." -date: 2024-09-16T00:00:00Z -weight: 8 ---- - -## ¿Qué es un Objeto y qué es una Clase? - -Un Objeto es algo (sustantivo) que tiene ciertas características y puede realizar ciertas tareas. Una Clase es el plano o definición para ese objeto cuando se crea. - -Un ejemplo es una Persona. Una Persona es un tipo de Clase. Una persona puede tener ciertas características que la distinguen de otra persona. Puede tener ojos azules, puede tener 15 años, etc. Una persona también puede realizar ciertas tareas. Puede caminar, puede hablar, etc. - -Un Objeto en C# es una instancia de una Clase en C#. En esta instancia "Bea" es una "Persona". "Bea" tiene ojos marrones. Esta es una propiedad (o campo de datos) de "Bea". "Bea" puede hablar en inglés. "Bea" puede hablar en español. Estos son métodos que "Bea" puede realizar. - -## ¡Creando una Clase! - -C# es un lenguaje de programación **orientado a objetos**, lo que significa que todo en C# está asociado con un **objeto** y una **clase** (el plano para el objeto). - -Para comenzar, la línea de código que usamos para imprimir declaraciones en la actividad 1 es en realidad una llamada a un método de una clase predefinida llamada `System`! - -```csharp -Console.WriteLine("Hello World"); -``` - -1. `Console` es una clase que maneja la entrada y salida del usuario. -3. `WriteLine()` es un método definido en la clase `Console`. - -Otra clase incorporada con la que hemos interactuado en ejercicios anteriores es `string`. La clase `string` define un conjunto de reglas sobre cómo debe comportarse una lista de caracteres. - -Con la siguiente línea de código, creamos un objeto `string` llamado `name` usando las reglas definidas en la clase `string`: - -```csharp -string name = "Patrick"; -``` - -`Console`, y `string` son clases predefinidas en C#. Sin embargo, no estamos limitados a estas clases predefinidas, y en realidad podemos crear nuestro propio tipo de dato escribiendo una clase. Esto es útil para que los programadores creen objetos específicos con ciertos atributos y comportamientos. Tener acceso a estos tipos definidos por el usuario nos permite construir programas distintos. - -Aprendamos sobre las diferentes partes de una clase a continuación: - -{{% notice note %}} -### Clase -Una clase es un plano o prototipo de un nuevo tipo de objeto. En general, una clase contiene tres partes importantes: - - - -**Elemento** | **Descripción** | **Ejemplo** ----|---|--- -**campos de datos/variables de instancia** | variables a las que un objeto de esta clase tiene acceso que describen el objeto | Por ejemplo, una clase Persona podría tener campos colorDeOjos, edad, altura. -**constructor** | método llamado automáticamente cuando se crea un objeto de esta clase, los constructores tienen el mismo nombre que la clase | Puede haber más de un constructor por clase -**métodos** | métodos para que el objeto de esta clase realice ciertas tareas | La clase Persona podría tener métodos hablar y caminar. - -Por ejemplo: - -```csharp -public class Person{ - // (1) campos de datos/variables de instancia - private String name; // ejemplo - private int age; - private int height; - - // (2) constructor - los constructores tienen el mismo nombre que la clase - public Person() - { - name = "Bea"; - age = 29; - height = 167; - } - - // (2) constructor - puedes tener más de uno - public Person( String nameInput, int ageInput, int heightInput) - { - name = nameInput; - age = ageInput; - height = heightInput; - } - - // (3) métodos - public void talk() - { - Console.WriteLine($"Hello from {name}"); - } -} -``` - -{{% /notice %}} - -## ¡Inténtalo 🐥! - -¡Hagamos una clase `Bird` para representar a Patrick 🐥 y a todos sus amigos Pájaro siguiendo los pasos a continuación! - - - -{{% notice tip %}} - -Puedes comentar tu código para que el computador no lo ejecute. - -```c# -Console.Write("Me gusta comer"); -// Console.Write("manzanas."); -``` - -Escribirá "Me gusta comer" en la consola, pero no escribirá "manzanas". -{{% /notice %}} diff --git a/content/espanol/csharp-basics/control-structures.md b/content/espanol/csharp-basics/control-structures.md deleted file mode 100644 index f900f4bd9..000000000 --- a/content/espanol/csharp-basics/control-structures.md +++ /dev/null @@ -1,92 +0,0 @@ ---- -title: "Estructuras de Control" -description: "Introducir if-else, for, y bucles while en C#." -date: 2024-09-16T00:00:00Z -weight: 6 ---- - -## Tomar una Decisión: If-Statement - -Patrick 🐥 es un pato muy educado que le gusta saludar a todos con "Buenos Días," "Buenas Tardes," o "Buenas Noches" dependiendo de la hora actual. - -![El sol saliendo rápidamente sobre una montaña](https://media.giphy.com/media/hpWrLS1RDBd5pwkgjy/giphy.gif) -(imagen de National Geographic: giphy.com/natgeochannel)
- -Como aprendimos antes, podemos imprimir estas declaraciones de la siguiente manera: - -```C# -Console.WriteLine("Buenos Días"); // decirlo entre 0:00 - 11:59 -Console.WriteLine("Buenas Tardes"); // decirlo entre 12:00 - 19:59 -Console.WriteLine("Buenas Noches"); // decirlo entre 20:00 - 23:59 -``` - -Sin embargo, también sabemos que Patrick 🐥 solo debe decidir decir una de estas declaraciones según la hora actual. - -En otras palabras, necesitamos escribir código que tome una decisión sobre qué imprimir basándose en las condiciones de la situación (condicionalmente). - -En C#, tomamos una decisión usando una **if statement** o una **if...else statement**. Lee las notas a continuación: - -{{% notice note %}} -### If Statement - -``` -if(una expresión booleana){ - Acción(es) a Tomar -} -``` - -Una **if statement** sigue la estructura mostrada arriba. Las acciones a tomar (sentencias) en el bloque solo se ejecutarán si la expresión booleana es `true`. De lo contrario, el programa saltará a la sentencia después del bloque si la expresión booleana es `false`. -### If-Else Statement - -``` -if(una expresión booleana){ - Acción(es) a Tomar A -}else{ - Acción(es) a Tomar B -} -``` - -Una **if-else statement** sigue la estructura mostrada arriba. Si la expresión booleana es `true`, el programa ejecutará la `Acción(es) a Tomar A` dentro del bloque `if`. De lo contrario, el programa ejecutará solo `Acción(es) a Tomar B` dentro del bloque `else`. - -### Ejemplo - -```C# - bool likeMusic = true; - if(likeMusic == true) - { - Console.WriteLine("Me gusta la Música"); - } - else - { - Console.WriteLine("No me gusta la Música"); - } -``` - -El código anterior imprimirá la declaración `Me gusta la Música` porque la expresión booleana, `likeMusic == true`, es verdadera. -{{% /notice %}} - -Volvamos a ver el ejemplo del saludo y tomemos la decisión de Patrick sobre si decir "Buenos Días," "Buenas Tardes," "Buenas Noches". - -Patrick debe decir "Buenos Días" entre 0:00 - 11:59, "Buenas Tardes" entre 12:00 - 19:59, y "Buenas Noches" entre 20:00 - 23:59. - -1. Tenemos una variable `currentHour` que almacena la hora actual. -2. Complete la `expresión booleana A` y la `expresión booleana B` correcta para completar el programa. -3. Pruebe su resultado asignando la variable `currentHour` a números del 0 al 23: - - - -## Repetir: Bucles For, While - -En la clase de matemáticas, la maestra de Patrick 🐥 le pide a la clase resolver un desafío matemático, y él podría necesitar ayuda. - -La maestra les pide encontrar la **suma de 1, 2, 3, ...., 100**. Es decir, ¿qué es **1 + 2 + 3 + 4 ... + 99 + 100**? - -Aunque podemos hacer esto con una calculadora, llevará tiempo. Afortunadamente, en C#, puedes calcularlo fácilmente en 3 líneas con la ayuda de un **bucle for** o **bucle while**. - -{{% notice note %}} -**Los bucles for** y **los bucles while** son estructuras de control en C# que te permiten ejecutar bloques de código múltiples veces. - -### Bucle While - -``` -while(una expresión booleana \ No newline at end of file diff --git a/content/espanol/csharp-basics/methods.md b/content/espanol/csharp-basics/methods.md deleted file mode 100644 index ce08ca2ca..000000000 --- a/content/espanol/csharp-basics/methods.md +++ /dev/null @@ -1,91 +0,0 @@ -```markdown ---- -title: "Métodos" -description: "Introducir métodos en C#." -date: 2024-09-16T00:00:00Z -weight: 7 ---- - -## ¿Qué es un Método? - -Hasta ahora, hemos aprendido cómo almacenar datos en variables, imprimir datos y frases, y tomar decisiones con `if`, `for` y `while`. - -Del último ejercicio, sabemos que el siguiente bloque de código calcula la suma de 1 a 100: - -```C# -int total = 0; -int num = 1; -while(num <= 100){ - total = total + num; - num = num + 1; -} -Console.WriteLine("Suma: " + total); -``` - -¿Pero qué pasa si queremos calcular la suma de 1 a 77 en su lugar? ¿Cómo lo hacemos sin reescribir todo el bloque de código? - -¡Queremos crear una ✨ caja mágica ✨ en el código que haga el cálculo por nosotros sin importar qué dos números queremos sumar! - - -En C#, un **método** es como la caja mágica que realiza una tarea específica ejecutando un bloque de código que puede utilizar entradas del usuario. - -Hay 2 partes en un método: firma y cuerpo: - -{{% notice note %}} -### Firma del Método - -Para definir un método, primero necesitamos escribir su firma del método. Un encabezado de firma tiene cuatro partes principales: - -``` -access_specifier return_type method_name(list_of_parameters) -``` - -**Parte Nombre** | **Descripción** | **Ejemplos o opciones posibles** -----|----|---- -**especificador de acceso** | proporciona el nivel de acceso al método | `public` le dice a la computadora que cualquiera puede usar este método. `private` le dice a la computadora que solo se puede llamar dentro de una clase. (¡Aprenderemos sobre las clases en la próxima página!) `protected` le dice a la computadora que puede ser llamado por objetos de la misma clase. -**tipo de retorno** | tipo de datos que se devuelve a la función que llama, técnicamente el tipo de retorno no es parte de la firma en C# | `string` o `int`, usa `void` si el método no devuelve nada. -**nombre del método** | nombre del método, usado para llamarlo | un nombre descriptivo que eliges basado en lo que hace el método. -**lista de parámetros** | lista de entradas que se deben proporcionar cuando se utiliza el método | puede tener cero o más parámetros en la forma de (`type` `input name`, `type` `input name`, ... ). Usa () para ningún parámetro. - -``` -// un ejemplo que toma un string como parámetro y devuelve otro string en respuesta -public string artist (string songName) -``` -**Nota:** Los nombres de las variables para los parámetros no tienen que coincidir con el nombre de la variable de los datos que se pasan al método. - -### Cuerpo del Método - -A continuación, ponemos el bloque de código asociado con el método en el **cuerpo del método**, que está entre `{` y `}` después de la firma del método. - -Para devolver algunos datos, ponemos la palabra clave `return` seguida de un nombre de variable o un valor para ser devuelto. - -**Nota:** Una vez que haces `return`, nada más después de eso en el método se ejecuta. - -Este es un ejemplo de cómo definir un método que suma números desde `numA` hasta `numB`: - -```c# -/* Nombre del Método: sumNum - * Entrada/Parámetro: 2 números de tipo int - * Funcionalidad: devuelve la suma de numA a numB - */ -public int sumNum(int numA, int numB){ - int total = 0; - int num = numA; // accedemos a la primera entrada con el nombre numA - while(num <= numB){ // accedemos a la primera entrada con el nombre numB - total = total + num; - num = num + 1; - } - return total; // declaración de return -} -``` - -### Llamada al Método - -Por último, para ejecutar un método en tu código, necesitamos hacer una **llamada al método**. Escribimos el nombre del método con la entrada adecuada. -Por ejemplo: - -```C# -sumNum(1, 3); // una línea de código que llama al método sumNum() con el valor de retorno 6 -``` - -Sabiendo que `sum \ No newline at end of file diff --git a/content/espanol/csharp-basics/operators.md b/content/espanol/csharp-basics/operators.md deleted file mode 100644 index eacb1ef40..000000000 --- a/content/espanol/csharp-basics/operators.md +++ /dev/null @@ -1,100 +0,0 @@ -```markdown ---- -title: "Operadores" -description: "Introduce los operadores y realiza operaciones en variables en C#." -date: 2024-09-16T00:00:00Z -weight: 5 ---- - -## Hagamos Matemáticas: Operador Aritmético - -En el último ejercicio, aprendimos sobre las variables y cómo podemos asignar valores a una variable de un tipo específico, como: - -```C# -int age = 3; // declarar variable age de tipo int con valor 3 -age = 4; // asignar 4 a la variable age -``` - -Mirando el código anterior, esencialmente suma 1 al valor de la variable `age`. - -Y, en C#, podemos realizar operaciones matemáticas en variables directamente con **operadores aritméticos**: `+`, `-`, `*`, `/`, `%`. -Por ejemplo, podemos usar el operador de suma `+` para sumar 1 a `age`: - -```c# -int age = 3; // declarar variable age de tipo int con valor 3 -age = age + 1;// sumar 1 a age -``` - -{{% notice note %}} -Los siguientes son los operadores aritméticos en C#: - -**Operador** | **Descripción** | **Ejemplo** -------|------|-------- -`+` | suma | `1 + 1 = 2` -`-` | resta | `2 - 1 = 1` -`*` | multiplicación | `3 * 3 = 9` -`/` | división | `9 / 3 = 3` -`%` | módulo/residuo | `10 % 4 = 2` - -**Nota**: Si ambos operandos de la división son enteros, el resultado también será un entero. Por ejemplo, `10 / 4` devuelve 2, no 2.5, ya que descartamos el residuo. Si cualquiera de los operandos es un double, el resultado será un double. - -**Nota**: Usa la operación de módulo (`%`) para obtener el residuo de la operación de división. - -{{% /notice %}} - -{{% notice tip %}} -El operador de suma (`+`) se utiliza en Strings como un operador de concatenación. Por ejemplo: - -`String name = "Patric" + "k";` es igual a `String name = "Patrick";` -{{% /notice %}} - -### Instrucciones -1. Usa el programa a continuación para practicar usando los operadores aritméticos. Cambia los números para ver las respuestas. - - - -## Comparaciones: Operador Relacional - -A continuación, aprendamos cómo comparar números, usando **operadores relacionales**. - -Al igual que en matemáticas, podemos comparar números usando `>`, `<`, `>=`, `<=`. Por ejemplo: `(3 > 2)` es `true`, un valor booleano. - -{{% notice note %}} -Los siguientes son los operadores relacionales en C#: - -**Operador** | **Descripción** | **Ejemplo** -------| ------| ------ -`==` | igual a | `(3 == 3)` es `true` -`!=` | no igual a | `(3 != 3)` es `false` -`>` | mayor que | `(3 > 2)` es `true` -`<` | menor que | `(3 < 2)` es `false` -`>=` | mayor o igual a | `(3 >= 2)` es `true` -`<=` | menor o igual a | `(2 <= 2)` es `true` - -Nota: `==` y `!=` solo pueden usarse en datos del mismo tipo. Por ejemplo: -```csharp -int x=3; -double y=3.0; -x==y; // Esto produciría un error porque x e y son de diferentes tipos. -``` - -{{% /notice %}} - -{{% notice tip %}} -Usar 1 signo igual asigna un valor a la variable. Usar 2 signos iguales compara los valores de dos elementos. - -```csharp -age = 3; // establece el valor de age a 3 -age == 3; // verifica si el valor de age es 3 -``` -{{% /notice %}} - -### Práctica de Comparación - -1. Usa el programa a continuación para practicar usando los operadores de comparación. Cambia los números para ver las respuestas. - - - -## ¡Estadísticas del Examen! - -Patrick 🐥 y \ No newline at end of file diff --git a/content/espanol/csharp-basics/using-netfiddle.md b/content/espanol/csharp-basics/using-netfiddle.md deleted file mode 100644 index 45e916178..000000000 --- a/content/espanol/csharp-basics/using-netfiddle.md +++ /dev/null @@ -1,41 +0,0 @@ -```markdown ---- -title: "Usando .NET Fiddle" -date: 2024-09-17T00:00:00Z -weight: 1 -draft: false ---- - -### Usando .NET Fiddle -Hoy usarás .NET Fiddle para aprender a programar en C#. - -Antes de comenzar, primero entendamos cómo funciona la ventana. En el lado izquierdo tienes una lista de opciones. Todas estas han sido configuradas para ti, así que no necesitas preocuparte por ellas. El centro de la pantalla contiene el código, o instrucciones para que el ordenador las ejecute. Al presionar el botón de **run** (el botón con el triángulo en el medio en la parte superior del marco), indicas al ordenador que realice las instrucciones del código. Los resultados de ejecutar el código se mostrarán en la parte inferior de la pantalla. - - - -Dedica un tiempo a familiarizarte con la herramienta a continuación. - - - -### Algunos consejos sobre C# - -Algunos consejos importantes: -1. Cada línea de código termina con un punto y coma `;` -2. Habrá código en los ejemplos que no entenderás. Está bien, ignóralo por ahora y enfócate en la tarea en la que estás trabajando. - -## Guardar tu trabajo - -Si deseas guardar tu trabajo a lo largo de estos ejercicios, necesitarás registrarte para obtener una cuenta en .NET Fiddle, si aún no tienes una. - -Haz clic en el botón de abajo para registrarte en una cuenta de .NET Fiddle; necesitarás una cuenta de correo electrónico para registrarte. Si ya tienes una cuenta en .NET Fiddle, también puedes iniciar sesión en tu cuenta usando el botón de abajo. - -Regístrate en .NET Fiddle - - - -Luego, ahora puedes *forkear* el Fiddle, lo que simplemente significa hacer una copia del programa, para que podamos realizar y guardar nuestros propios cambios en él. Haz clic en el botón "Fork" en la parte superior. - -Después de forquear el Fiddle, verás una ventana similar a la siguiente: - - -``` \ No newline at end of file diff --git a/content/espanol/csharp-basics/variables.md b/content/espanol/csharp-basics/variables.md deleted file mode 100644 index 4f2be73e3..000000000 --- a/content/espanol/csharp-basics/variables.md +++ /dev/null @@ -1,77 +0,0 @@ -```markdown ---- -title: "Variables y Tipos de Datos" -description: "Introducir tipos y variables en C#." -date: 2024-09-16T00:00:00Z -weight: 4 ---- - -## Variables: ¡Ponle Nombre! - -En el primer ejercicio, aprendimos a imprimir diferentes enunciados con `Console.WriteLine() y Console.Write()`. - -Aunque es genial imprimir un número o una oración, no les hemos dado un significado y si quisiéramos usar la oración o el número nuevamente, tendríamos que escribirlo otra vez. - -En C#, introducimos la idea de una **variable** para los datos. Una variable almacena un dato con un nombre. - -Por ejemplo, puede haber una variable llamada `myName` a la que se le asigna el valor `"Ann"`. Otra variable podría llamarse `age` y se le asigna el número `12`. - -## ¡Qué Tipo! - -Entonces, ¿cómo creamos estas variables en C# para almacenar datos? - -Antes de aprender a crear variables, necesitamos aprender el concepto de **tipo de dato** en C# o simplemente **tipo** para abreviar. El tipo en C# describe lo que se está almacenando. Si tienes una variable numérica, solo puede contener números, no oraciones o símbolos. Cada variable tiene su propio tipo que controla qué tipo de datos puede contener. - -Por ejemplo, podríamos tener una variable llamada `age` que almacena el número `12`. Si intentas almacenar la palabra `"twelve"` en `age`, generará un error porque solo reconoce números. - -En C#, para que una variable almacene números enteros, usa el tipo `int`. Declaramos una variable `int` llamada `age` con el dato `3` con la línea de código: - -``` -int age = 12; -``` -En general, para declarar una variable las escribimos en el formato: `[tipo de dato] [nombre de la variable] = [dato];`. -{{% notice note %}} -Los siguientes son los tipos de datos importantes que están integrados en C#: - -**Tipo** | **Descripción** | **Ejemplos** ---------|-----------|---------- -`int` | entero | `20`, `30`, `35` -`char` | carácter como un símbolo o una letra del alfabeto | `'A'`,`'b'`, `'('`, `']'` -`string` | una secuencia de `char` | `"Hello"`, `"Bonjour"`, `"Hola"` -`bool` | booleano, tiene un valor de `true` o `false` | `true`, `false` -`double` | números fraccionarios | `2.0`, `3.14`, `9.33` - -{{% /notice %}} - -Usando nuestro ejemplo anterior, para declarar estas variables en C#, escribimos lo siguiente: - -```C# -string name = "Ann"; -int age = 12; -boolean loveMusic = true; -``` - -La última variable es interesante. Solo puede tener un valor de `true` o `false`. Veremos que esto puede ser muy útil en las secciones más avanzadas de este taller. - -## Juega con variables - -Veamos qué podemos hacer con las variables. - -En el marco de .NET Fiddle a continuación, bifurca el Fiddle e intenta ingresar estas líneas y **ejecuta**: - -```C# -int age = 10; -Console.WriteLine(age); // imprime 10 -age = 12; // asigna el dato 12 a la variable age -Console.WriteLine(age); // imprime 12 -``` -Podemos asignar un valor a una variable, referencia su valor y luego cambiarlo. - - - -## Qué Tipo -- ¡Ayuda a Patrick! - -¡Patrick 🐥 no es un maestro de los tipos de datos! A menudo confunde los tipos al declarar variables. Ayudémosle a corregir sus errores en el .NET Fiddle a continuación. - - -``` \ No newline at end of file diff --git a/content/espanol/csharp-basics/write-to-console.md b/content/espanol/csharp-basics/write-to-console.md deleted file mode 100644 index 714f841b2..000000000 --- a/content/espanol/csharp-basics/write-to-console.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Escribir en la Consola" -description: "Introduce métodos de impresión en C#." -date: 2024-09-16T00:00:00Z -weight: 2 ---- - -## Tu primer programa en C# - -Nuestro primer ejercicio es familiarizarnos con la estructura de una aplicación simple en C# que escribe en la consola. - -Intentemos ejecutar un programa en C# que imprima `Hello World` en la consola. La línea de código `Console.WriteLine ("Hello World");` hace esto por nosotros. Le dice a la computadora que escriba lo que está entre los () en la pantalla. - -### ¡Vamos a escribir algo de código! - - - -En el marco de .NET Fiddle de arriba, agrega una nueva línea de código debajo de la primera línea para imprimir "Hello *tu nombre*". Debería verse algo así. - - - -Deberías ver tu salida en la parte inferior de la pantalla. ¿Genial, no? - -Intentemos imprimir otras cosas. Agrega algunas líneas adicionales de código para: -1. Imprimir números colocando números entre paréntesis (i.e. `Console.WriteLine(42);`). No se necesitan comillas dobles. -2. Juntar algo de texto (i.e. `Console.WriteLine("Hi " + "Sally");`). - -{{% notice tip %}} -### ¿Notaste que todas las sentencias que escribiste se imprimieron en líneas diferentes? - -A veces queremos escribir en la misma línea. Usamos un código ligeramente diferente `Console.Write` en lugar de `Console.WriteLine`. - -Agrega dos líneas de código: -```csharp -Console.Write("I like to eat "); -Console.Write("apples."); -``` - -Y pruébalo. -{{% /notice %}} - -{{% notice warning %}} -### ¡¡Importante!! A veces no puedes simplemente poner caracteres entre " " - -Al colocar caracteres entre `" "` en una sentencia de impresión, a veces es fácil confundir a la computadora sobre qué caracteres imprimir. - -Por ejemplo, ¿cómo le decimos a la computadora que imprima `"`? - -Si escribes `Console.WriteLine(""");`, obtendrás un error porque la computadora no puede identificar dónde termina el texto. - -En cambio, ciertos caracteres necesitan ser escapados agregando un `\` delante de ellos. - -```csharp -Console.Writeline("\"");` // esto imprime " -``` -{{% /notice %}} diff --git a/content/francais/csharp-basics/classes-and-objects.md b/content/francais/csharp-basics/classes-and-objects.md deleted file mode 100644 index 696085c41..000000000 --- a/content/francais/csharp-basics/classes-and-objects.md +++ /dev/null @@ -1,91 +0,0 @@ -```markdown ---- -title: "Classes et Objets" -description: "Introduction aux classes et objets en C#." -date: 2024-09-16T00:00:00Z -weight: 8 ---- - -## Qu'est-ce qu'un Objet et qu'est-ce qu'une Classe ? - -Un Objet est une chose (nom) qui a certaines caractéristiques et peut effectuer certaines tâches. Une Classe est le modèle ou la définition de cet objet lorsqu'il est créé. - -Un exemple est une Personne. Une Personne est un type de Classe. Une personne peut avoir certaines caractéristiques qui la distinguent d'une autre personne. Elle peut avoir des yeux bleus, elle peut avoir 15 ans, etc. Une personne peut aussi effectuer certaines tâches. Elle peut marcher, elle peut parler, etc. - -Un Objet C# est une instance d'une Classe C#. Dans cet exemple "Bea" est une "Personne". "Bea" a des yeux marron. C'est une propriété (ou champ de données) de "Bea". "Bea" peut parler anglais. "Bea" peut parler espagnol. Ce sont des méthodes que "Bea" peut effectuer. - -## Créer une Classe ! - -C# est un langage de programmation **orienté objet**, ce qui signifie que tout en C# est associé à un **objet** et à une **classe** (le modèle pour l'objet). - -Pour commencer, la ligne de code que nous avons utilisée pour imprimer des déclarations de l'activité 1 est en réalité un appel de méthode d'une classe prédéfinie appelée `System` ! - -```csharp -Console.WriteLine("Hello World"); -``` - -1. `Console` est une classe qui traite les entrées et sorties utilisateur. -3. `WriteLine()` est une méthode définie dans la classe `Console`. - -Une autre classe intégrée avec laquelle nous avons interagi dans les exercices précédents est `string`. La classe `string` définit un ensemble de règles sur la façon dont une liste de caractères doit se comporter. - -Avec la ligne de code suivante, nous avons créé un objet `string` appelé `name` en utilisant les règles définies dans la classe `string` : - -```csharp -string name = "Patrick"; -``` - -`Console`, et `string` sont des classes prédéfinies en C#. Cependant, nous ne sommes pas limités à ces classes prédéfinies, et nous pouvons en fait créer notre propre type de données en écrivant une classe ! Ceci est utile pour les programmeurs afin de créer des objets spécifiques pour avoir certains attributs et comportements. Avoir accès à ces types définis par l'utilisateur nous permet de construire des programmes distincts. - -Apprenons les différentes parties d'une classe ci-dessous : - -{{% notice note %}} -### Classe -Une classe est un modèle ou prototype d'un nouveau type d'objet. En général, une classe contient trois parties importantes : - - - -**Élément** | **Description** | **Exemple** ----|---|--- -**champs de données/variables d'instance** | variables auxquelles un objet de cette classe a accès pour décrire l'objet | Par exemple, une classe Personne pourrait avoir des champs couleurYeux, âge, taille. -**constructeur** | méthode appelée automatiquement lorsqu'un objet de cette classe est créé, les constructeurs ont le même nom que la classe | Il peut y avoir plus d'un constructeur par classe -**méthodes** | méthodes pour que l'objet de cette classe effectue certaines tâches | La classe Personne pourrait avoir des méthodes parler et marcher. - -Par exemple : - -```csharp -public class Person{ - // (1) champs de données/variables d'instance - private String name; // exemple - private int age; - private int height; - - // (2) constructeur - les constructeurs ont le même nom que la classe - public Person() - { - name = "Bea"; - age = 29; - height = 167; - } - - // (2) constructeur - vous pouvez en avoir plus d'un - public Person( String nameInput, int ageInput, int heightInput) - { - name = nameInput; - age = ageInput; - height = heightInput; - } - - // (3) méthodes - public void talk() - { - Console.WriteLine($"Hello from {name}"); - } -} -``` - -{{% /notice %}} - -## Essayez 🐥! - -Construisons une classe `Bird` pour représenter \ No newline at end of file diff --git a/content/francais/csharp-basics/comments.md b/content/francais/csharp-basics/comments.md deleted file mode 100644 index 56520f8a3..000000000 --- a/content/francais/csharp-basics/comments.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Commentaires" -description: "Introduire des commentaires en C#." -date: 2024-09-16T00:00:00Z -weight: 3 ---- - -## Ajouter un Commentaire - -Lors de la création d'un programme C#, nous pouvons prendre des notes en ajoutant un commentaire sur une ligne avec `//` ou un commentaire multi-lignes avec `/*` et `*/` (Remarque : Les instructions des activités précédentes étaient écrites sous forme de commentaires). - -De plus, ajouter des commentaires n'affectera pas le programme. Vous pouvez donc ajouter des commentaires dans votre code pour documenter son fonctionnement pour vous et d'autres programmeurs. - -```c# - // exemple de commentaire sur une ligne - - /* exemple - * de commentaire - * multi-lignes */ -``` - -## Expérimenter avec les Commentaires - -Dans le cadre .NET Fiddle ci-dessous, ajoutez un commentaire sur une ligne et un commentaire multi-lignes à votre programme. - - - -{{% notice tip %}} - -Vous pouvez commenter votre code pour que l'ordinateur ne l'exécute pas. - -```c# -Console.Write("J'aime manger"); -// Console.Write("des pommes."); -``` - -Écrira "J'aime manger" dans la console mais n'écrira pas "des pommes". -{{% /notice %}} \ No newline at end of file diff --git a/content/francais/csharp-basics/control-structures.md b/content/francais/csharp-basics/control-structures.md deleted file mode 100644 index 60f9afe3f..000000000 --- a/content/francais/csharp-basics/control-structures.md +++ /dev/null @@ -1,88 +0,0 @@ -```markdown ---- -title: "Structures de Contrôle" -description: "Introduire if-else, for et while loops en C#." -date: 2024-09-16T00:00:00Z -weight: 6 ---- - -## Prendre une Décision : Instruction If - -Patrick 🐥 est un canard très poli qui aime saluer tout le monde qu'il rencontre avec "Bonjour," "Bon après-midi," ou "Bonne nuit" selon l'heure actuelle. - -![Le soleil se levant rapidement sur une montagne](https://media.giphy.com/media/hpWrLS1RDBd5pwkgjy/giphy.gif) -(image par National Geographic : giphy.com/natgeochannel)
- -Comme nous l'avons appris précédemment, nous pouvons afficher ces déclarations comme suit : - -```C# -Console.WriteLine("Bonjour"); // dire entre 0:00 - 11:59 -Console.WriteLine("Bon après-midi"); // dire entre 12:00 - 19:59 -Console.WriteLine("Bonne nuit"); // dire entre 20:00 - 23:59 -``` - -Cependant, nous savons aussi que Patrick 🐥 ne devrait choisir de dire qu'une de ces déclarations en fonction de l'heure actuelle. - -En d'autres termes, nous devons écrire du code qui prend une décision sur ce qu'il faut imprimer en fonction des conditions de la situation (conditionnellement). - -En C#, nous prenons une décision en utilisant une **instruction if** ou une **instruction if...else**. Lisez les notes ci-dessous : - -{{% notice note %}} -### Instruction If - -``` -if(expression booléenne){ - Action(s) à entreprendre -} -``` - -Une **instruction if** suit la structure montrée ci-dessus. Les actions à entreprendre (instructions) dans le bloc ne seront exécutées que si l'expression booléenne est `true`. Sinon, le programme passera à l'instruction après le bloc si l'expression booléenne est `false`. -### Instruction If-Else - -``` -if(expression booléenne){ - Action(s) à entreprendre A -}else{ - Action(s) à entreprendre B -} -``` - -Une **instruction if-else** suit la structure montrée ci-dessus. Si l'expression booléenne est `true`, le programme exécutera `Action(s) à entreprendre A` dans le bloc `if`. Sinon, le programme n'exécute que `Action(s) à entreprendre B` dans le bloc `else`. - -### Exemple - -```C# - bool aimeMusique = true; - if(aimeMusique == true) - { - Console.WriteLine("J'aime la Musique"); - } - else - { - Console.WriteLine("Je n'aime pas la Musique"); - } -``` - -Le code ci-dessus affichera l'instruction `J'aime la Musique` car l'expression booléenne, `aimeMusique == true`, est vraie. -{{% /notice %}} - -Revisons l'exemple de salutation ci-dessus et prenons une décision pour Patrick sur s'il doit dire "Bonjour," "Bon après-midi," "Bonne nuit". - -Patrick devrait dire "Bonjour" entre 0:00 - 11:59, "Bon après-midi" entre 12:00 - 19:59, et "Bonne nuit" entre 20:00 - 23:59. - -1. Nous avons une variable `currentHour` qui stocke l'heure actuelle. -2. Remplissez l'expression `boolean expression A` et `boolean expression B` correctes pour compléter le programme. -3. Testez votre résultat en assignant la variable `currentHour` à des nombres de 0 à 23 : - - - -## Répétez-le Encore : Boucle For, Boucle While - -En cours de maths, le professeur de Patrick 🐥 demande à la classe de résoudre un défi mathématique, et il pourrait avoir besoin d'aide. - -Le professeur leur demande de trouver la **somme de 1, 2, 3, ...., 100**. Que vaut **1 + 2 + 3 + 4 ... + 99 + 100** ? - -Bien que nous puissions le mettre dans une calculatrice, cela prendra du temps. Heureusement, en C#, vous pouvez facilement calculer cela en 3 lignes grâce à une **boucle for** ou **boucle while**. - -{{% notice note %}} -Les **boucles For** et **boucles While** sont des structures de contrôle en C# qui vous permettent d'exécuter \ No newline at end of file diff --git a/content/francais/csharp-basics/methods.md b/content/francais/csharp-basics/methods.md deleted file mode 100644 index e0ffbad2e..000000000 --- a/content/francais/csharp-basics/methods.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: "Méthodes" -description: "Introduire les méthodes en C#." -date: 2024-09-16T00:00:00Z -weight: 7 ---- - -## Qu'est-ce qu'une méthode ? - -Jusqu'à présent, nous avons appris comment stocker des données dans des variables, imprimer des données et des phrases, et prendre des décisions avec des `if`-statements, des `for`-loops et des `while`-loops. - -D'après le dernier exercice, nous savons que le bloc de code suivant calcule la somme de 1 à 100 : - -```C# -int total = 0; -int num = 1; -while(num <= 100){ - total = total + num; - num = num + 1; -} -Console.WriteLine("Sum: " + total); -``` - -Mais que faire si nous voulons calculer la somme de 1 à 77 ? Comment faire sans réécrire tout le bloc de code ? - -Nous voulons créer une ✨ boîte magique ✨ en code qui fait le calcul pour nous, peu importe les deux nombres pour lesquels nous voulons créer une somme ! - - -En C#, une **méthode** est comme la boîte magique qui effectue une tâche spécifique en exécutant un bloc de code qui peut utiliser des entrées de l'utilisateur. - -Il y a 2 parties dans une méthode : signature et corps : - -{{% notice note %}} -### Signature de Méthode - -Pour définir une méthode, nous devons d'abord écrire sa signature de méthode. Un en-tête de signature a quatre parties principales : - -``` -access_specifier return_type method_name(list_of_parameters) -``` - -**Nom de la Partie** | **Description** | **Exemples ou options possibles** -----|----|---- -**specifier d'accès** | fournit le niveau d'accès à la méthode | `public` indique à l'ordinateur que tout le monde peut utiliser cette méthode. `private` indique à l'ordinateur que cela ne peut être appelé que dans une classe. (Nous apprendrons les classes à la page suivante !) `protected` indique à l'ordinateur qu'il peut être appelé par des objets de la même classe. -**type de retour** | type de données qui est retourné à la fonction appelante, techniquement le type de retour ne fait pas partie de la signature en C# | `string` ou `int`, utilisez `void` si la méthode ne retourne rien. -**nom de la méthode** | nom de la méthode, utilisé pour l'appeler | un nom descriptif que vous choisissez en fonction de ce que fait la méthode. -**liste des paramètres** | liste des entrées qui doivent être fournies lors de l’utilisation de la méthode | peut avoir zéro ou plusieurs paramètres sous la forme de (`type` `nom input`, `type` `nom input`, ...). Utilisez () pour aucun paramètre. - -``` -// un exemple qui prend une chaîne comme paramètre et retourne une autre chaîne en réponse -public string artist (string songName) -``` -**Note :** Les noms de variables pour les paramètres ne doivent pas nécessairement correspondre au nom de la variable des données qui sont passées à la méthode. - -### Corps de Méthode - -Ensuite, nous plaçons le bloc de code associé à la méthode dans le **corps de la méthode**, qui est entre `{` et `}` après la signature de la méthode. - -Pour retourner des données, nous mettons le mot-clé `return` suivi d'un nom de variable ou d'une valeur à renvoyer. - -**Note :** Une fois que vous retournez, rien d'autre après cela dans la méthode n'est exécuté. - -Voici un exemple de comment définir une méthode qui calcule la somme des nombres de `numA` à `numB` : - -```c# -/* Nom de la Méthode : sumNum - * Entrée/Paramètre : 2 nombres de type int - * Fonctionnalité : retourne la somme de numA à numB - */ -public int sumNum(int numA, int numB){ - int total = 0; - int num = numA; // nous accédons à la première entrée avec le nom numA - while(num <= numB){ // nous accédons à la deuxième entrée avec le nom numB - total = total + num; - num = num + 1; - } - return total; // instruction de retour -} -``` - -### Appel de Méthode - -Enfin, pour exéc \ No newline at end of file diff --git a/content/francais/csharp-basics/operators.md b/content/francais/csharp-basics/operators.md deleted file mode 100644 index 217980a5b..000000000 --- a/content/francais/csharp-basics/operators.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: "Opérateurs" -description: "Introduire les opérateurs et effectuer des opérations sur les variables en C#." -date: 2024-09-16T00:00:00Z -weight: 5 ---- - -## Faisons des Maths : Opérateur Arithmétique - -Dans le dernier exercice, nous avons appris les variables et comment nous pouvons attribuer des valeurs à une variable d'un type spécifique, comme : - -```C# -int age = 3; // déclarer la variable age de type int avec la valeur 3 -age = 4; // attribuer 4 à la variable age -``` - -En regardant le code ci-dessus, cela ajoute essentiellement 1 à la valeur de la variable `age`. - -Et, en C#, nous pouvons effectuer des opérations mathématiques sur les variables directement avec les **opérateurs arithmétiques** : `+`, `-`, `*`, `/`, `%`. -Par exemple, nous pouvons utiliser l'opérateur d'addition `+` pour ajouter 1 à `age` : - -```c# -int age = 3; // déclarer la variable age de type int avec la valeur 3 -age = age + 1;// ajouter 1 à age -``` - -{{% notice note %}} -Les opérateurs arithmétiques en C# sont les suivants : - -**Opérateur** | **Description** | **Exemple** -------|------|-------- -`+` | addition | `1 + 1 = 2` -`-` | soustraction | `2 - 1 = 1` -`*` | multiplication | `3 * 3 = 9` -`/` | division | `9 / 3 = 3` -`%` | modulo/reste | `10 % 4 = 2` - -**Note** : Si les deux opérandes de la division sont des entiers, le résultat sera également un entier. Par exemple, `10 / 4` renvoie 2, pas 2.5 puisqu'on néglige le reste. Si l'un des opérandes est un double, le résultat sera un double. - -**Note** : Utilisez l'opération de modulo (`%`) pour obtenir le reste de l'opération de division. - -{{% /notice %}} - -{{% notice tip %}} -L'opérateur d'addition (`+`) est utilisé sur les chaînes comme opérateur de concaténation. Par exemple : - -`String name = "Patric" + "k";` est équivalent à `String name = "Patrick";` -{{% /notice %}} - -### Instructions -1. Utilisez le programme ci-dessous pour vous exercer à utiliser les opérateurs arithmétiques. Changez les nombres pour voir les réponses. - - - -## Comparaisons : Opérateur Relationnel - -Ensuite, apprenons comment comparer des nombres, en utilisant les **opérateurs relationnels**. - -Tout comme en mathématiques, nous pouvons comparer des nombres en utilisant `>`, `<`, `>=`, `<=`. Par exemple : `(3 > 2)` est `true`, une valeur booléenne. - -{{% notice note %}} -Les opérateurs relationnels en C# sont les suivants : - -**Opérateur** | **Description** | **Exemple** -------| ------| ------ -`==` | égal à | `(3 == 3)` est `true` -`!=` | différent de | `(3 != 3)` est `false` -`>` | supérieur à | `(3 > 2)` est `true` -`<` | inférieur à | `(3 < 2)` est `false` -`>=` | supérieur ou égal à | `(3 >= 2)` est `true` -`<=` | inférieur ou égal à | `(2 <= 2)` est `true` - -Note : `==` et `!=` ne peuvent être utilisés que sur des données de même type. Par exemple : -```csharp -int x=3; -double y=3.0; -x==y; // Cela produirait une erreur car x et y sont de types différents. -``` - -{{% /notice %}} - -{{% notice tip %}} -Utiliser un signe égal assigne une valeur à la variable. Utiliser deux signes égaux compare les valeurs de deux éléments. - -```csharp -age = 3; // fixe la valeur de age à 3 -age == 3; // vérifie si la valeur de age est 3 -``` -{{% /notice %}} - -### Pratique de la Comparaison - -1. Utilisez le programme ci-dessous pour vous exercer à utiliser les opérateurs de comparaison. Changez les nombres pour voir les \ No newline at end of file diff --git a/content/francais/csharp-basics/using-netfiddle.md b/content/francais/csharp-basics/using-netfiddle.md deleted file mode 100644 index db7060703..000000000 --- a/content/francais/csharp-basics/using-netfiddle.md +++ /dev/null @@ -1,40 +0,0 @@ ---- - -title: "Utilisation de .NET Fiddle" date: 2024-09-17T00:00:00Z weight: 1 draft: false - ---- - -### Utilisation de .NET Fiddle - -Aujourd'hui, vous utiliserez .NET Fiddle pour apprendre à coder en C#. - -Avant de commencer, comprenons d'abord comment fonctionne la fenêtre. Sur le côté gauche, vous avez une liste d'options. Tout cela a été configuré pour vous, donc vous n'avez pas besoin de vous en préoccuper. Le centre de l'écran contient le code, ou les instructions que l'ordinateur doit exécuter. En appuyant sur le bouton **exécuter** (le bouton avec le triangle au milieu en haut du cadre), vous demandez à l'ordinateur d'exécuter les instructions du code. Les résultats de cette exécution s'afficheront en bas de l'écran. - - - -Prenez le temps de vous familiariser avec l'outil ci-dessous. - - - -### Quelques conseils sur C# - -Quelques conseils importants : -1. Chaque ligne de code se termine par un point-virgule `;` -2. Il y aura du code dans les exemples que vous ne comprendrez pas. Ce n'est pas grave, ignorez-le pour l'instant et concentrez-vous sur la tâche à accomplir. - -## Sauvegarde de votre travail - -Si vous souhaitez sauvegarder votre travail tout au long de ces exercices, vous devrez vous inscrire pour un compte .NET Fiddle, si vous n'en avez pas encore un. - -Cliquez sur le bouton ci-dessous pour vous inscrire à un compte .NET Fiddle - vous aurez besoin d'une adresse e-mail pour vous inscrire. Si vous avez déjà un compte .NET Fiddle, vous pouvez également vous connecter à votre compte en utilisant le bouton ci-dessous. - -S'inscrire à .NET Fiddle - - - -Ensuite, vous pouvez maintenant *forker* le Fiddle, ce qui signifie simplement faire une copie du programme, afin que nous puissions y apporter et enregistrer nos propres modifications. Cliquez sur le bouton "Fork" en haut. - -Après avoir forké le Fiddle, vous verrez une fenêtre similaire à celle ci-dessous : - - - diff --git a/content/francais/csharp-basics/variables.md b/content/francais/csharp-basics/variables.md deleted file mode 100644 index 619681e51..000000000 --- a/content/francais/csharp-basics/variables.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: "Variables and Data Types" -description: "Introduce types and variables in C#." -date: 2024-09-16T00:00:00Z -weight: 4 ---- - -## Variables: Name It! - -Dans le premier exercice, nous avons appris à imprimer différentes déclarations avec `Console.WriteLine() et Console.Write()`. - -Bien qu'il soit agréable d'imprimer un nombre ou une phrase, nous ne leur avons pas donné de sens et si nous voulions réutiliser la phrase ou le nombre, nous devrions les retaper. - -En C#, nous introduisons l'idée d'une **variable** pour les données. Une variable stocke une donnée avec un nom. - -Par exemple, il peut y avoir une variable appelée `myName` qui est assignée à la valeur `"Ann"`. Une autre variable pourrait s'appeler `age` et elle est assignée au nombre `12`. - -## What the Type! - -Alors, comment créons-nous ces variables en C# pour stocker des données ? - -Avant d'apprendre à créer des variables, nous devons comprendre le concept de **type de données** en C# ou simplement **type** pour faire court. Le type en C# décrit ce qui est stocké. Si vous avez une variable de nombre, elle ne peut contenir que des nombres, pas des phrases ou des symboles. Chaque variable a son propre type qui contrôle le genre de données qu'elle peut contenir. - -Par exemple, nous pourrions avoir une variable appelée `age` qui stocke le nombre `12`. Si vous essayez de stocker le mot `"twelve"` dans `age`, cela générera une erreur car il ne connaît que les nombres. - -En C#, pour qu'une variable stocke des nombres entiers, utilisez le type `int`. Nous déclarons une variable `int` appelée `age` avec la donnée `3` avec la ligne de code : - -``` -int age = 12; -``` -En général, pour déclarer une variable, nous les écrivons au format : `[type de données] [nom de la variable] = [donnée];`. -{{% notice note %}} -Voici les types de données importants intégrés en C# : - -**Type** | **Description** | **Exemples** ---------|-----------|---------- -`int` | entier | `20`, `30`, `35` -`char` | caractère tel qu'un symbole ou une seule lettre de l'alphabet | `'A'`, `'b'`, `'('`, `']'` -`string` | une séquence de `char` | `"Hello"`, `"Bonjour"`, `"Hola"` -`bool` | booléen, a une valeur soit `true` soit `false` | `true`, `false` -`double` | nombres fractionnaires | `2.0`, `3.14`, `9.33` - -{{% /notice %}} - -Utilisant notre exemple précédent, pour déclarer ces variables en C#, nous tapons ce qui suit : - -```C# -string name = "Ann"; -int age = 12; -boolean loveMusic = true; -``` - -La dernière variable est intéressante. Elle ne peut avoir qu'une valeur de `true` ou `false`. Nous verrons que cela peut être très utile dans les sections plus avancées de cet atelier. - -## Play with variables - -Voyons ce que nous pouvons faire avec les variables. - -Dans le cadre .NET Fiddle ci-dessous, forkez le Fiddle et essayez d'entrer ces lignes et **exécutez** : - -```C# -int age = 10; -Console.WriteLine(age); // affiche 10 -age = 12; // assigne la donnée 12 à la variable age -Console.WriteLine(age); // affiche 12 -``` -Nous pouvons assigner une valeur à une variable, la référencer, puis changer la valeur. - - - -## What the Type -- Help Patrick! - -Patrick 🐥 n'est pas un maître des types de données ! Il les mélange souvent lorsqu'il déclare des variables. Aidons-le à corriger ses erreurs dans le .NET Fiddle ci-dessous. - - \ No newline at end of file diff --git a/content/francais/csharp-basics/write-to-console.md b/content/francais/csharp-basics/write-to-console.md deleted file mode 100644 index 090cde329..000000000 --- a/content/francais/csharp-basics/write-to-console.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Écrire dans la Console" -description: "Introduire les méthodes d'affichage en C#." -date: 2024-09-16T00:00:00Z -weight: 2 ---- - -## Votre premier programme C# - -Notre premier exercice consiste à se familiariser avec la structure d'une simple application C# qui écrit dans la console. - -Essayons de lancer un programme C# qui affiche `Hello World` dans la console. La ligne de code `Console.WriteLine ("Hello World");` le fait pour nous. Elle dit à l'ordinateur d'écrire ce qui se trouve entre les () à l'écran. - -### Écrivons du code ! - - - -Dans le cadre .NET Fiddle ci-dessus, ajoutez une nouvelle ligne de code sous la première ligne pour afficher "Hello *votre nom*". Cela devrait ressembler à ceci. - - - -Vous devriez voir votre sortie en bas de l'écran. Sympa, non ? - -Essayons d'imprimer d'autres choses. Ajoutez quelques lignes de code supplémentaires pour : -1. Imprimer des chiffres en mettant des chiffres entre parenthèses (c'est-à-dire `Console.WriteLine(42);`). Pas besoin de guillemets. -2. Assembler du texte (c'est-à-dire `Console.WriteLine("Hi " + "Sally");`) - -{{% notice tip %}} -### Avez-vous remarqué que toutes les instructions que vous avez tapées s'affichent sur des lignes différentes ? - -Parfois, nous voulons écrire sur la même ligne. Nous utilisons un code légèrement différent `Console.Write` au lieu de `Console.WriteLine`. - -Ajoutez deux lignes de code : -```csharp -Console.Write("I like to eat "); -Console.Write("apples."); -``` - -Et essayez. -{{% /notice %}} - -{{% notice warning %}} -### !! Important !! Parfois, vous ne pouvez pas simplement mettre des caractères entre " " - -Lors de la mise de caractères entre `" "` dans une instruction d'affichage, il est parfois facile de confondre l'ordinateur sur les caractères à afficher. - -Par exemple, comment indiquer à l'ordinateur d'afficher `"` ? - -Si vous tapez `Console.WriteLine(""");`, vous obtiendrez une erreur car l'ordinateur ne peut pas identifier où le texte se termine ! - -Certaines caractères doivent être échappés en ajoutant un `\` devant. - -```csharp -Console.Writeline("\"");` // cela affiche " -``` -{{% /notice %}} \ No newline at end of file diff --git a/content/german/csharp-basics/classes-and-objects.md b/content/german/csharp-basics/classes-and-objects.md deleted file mode 100644 index 88b1a6e68..000000000 --- a/content/german/csharp-basics/classes-and-objects.md +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: "Klassen und Objekte" -description: "Einführung in Klassen und Objekte in C#." -date: 2024-09-16T00:00:00Z -weight: 8 ---- - -## Was ist ein Objekt und was ist eine Klasse? - -Ein Objekt ist ein Ding (Substantiv), das bestimmte Eigenschaften hat und bestimmte Aufgaben ausführen kann. Eine Klasse ist der Bauplan oder die Definition für dieses Objekt, wenn es erstellt wird. - -Ein Beispiel ist eine Person. Eine Person ist eine Art von Klasse. Eine Person kann bestimmte Eigenschaften haben, die sie von einer anderen Person unterscheiden. Sie kann blaue Augen haben, 15 Jahre alt sein usw. Eine Person kann auch bestimmte Aufgaben ausführen. Sie kann gehen, sprechen usw. - -Ein C#-Objekt ist eine Instanz einer C#-Klasse. In diesem Fall ist "Bea" eine "Person". "Bea" hat braune Augen. Das ist eine Eigenschaft (oder Datenfeld) von "Bea". "Bea" kann Englisch sprechen. "Bea" kann Spanisch sprechen. Das sind Methoden, die "Bea" ausführen kann. - -## Eine Klasse erstellen! - -C# ist eine **objektorientierte** Programmiersprache, was bedeutet, dass in C# alles mit einem **Objekt** und einer **Klasse** (dem Bauplan für das Objekt) verbunden ist. - -Zum Einstieg: Die Codezeile, die wir verwendet haben, um Anweisungen aus Aktivität 1 zu drucken, ist tatsächlich ein Methodenaufruf aus einer vordefinierten Klasse namens `System`! - -```csharp -Console.WriteLine("Hello World"); -``` - -1. `Console` ist eine Klasse, die sich mit Benutzereingaben und -ausgaben befasst. -3. `WriteLine()` ist eine Methode, die in der Klasse `Console` definiert ist. - -Eine weitere vordefinierte Klasse, mit der wir in den vorherigen Übungen interagiert haben, ist `string`. Die `string`-Klasse definiert eine Reihe von Regeln, wie eine Liste von Zeichen sich verhalten sollte. - -Mit der folgenden Codezeile haben wir ein `string`-Objekt namens `name` mit den in der `string`-Klasse definierten Regeln erstellt: - -```csharp -string name = "Patrick"; -``` - -`Console` und `string` sind vordefinierte Klassen in C#. Allerdings sind wir nicht auf diese vordefinierten Klassen beschränkt und können tatsächlich unseren eigenen Datentyp erstellen, indem wir eine Klasse schreiben! Dies ist nützlich für Programmierer, um spezifische Objekte zu erstellen, die bestimmte Attribute und Verhaltensweisen haben. Der Zugriff auf diese vom Benutzer definierten Typen ermöglicht es uns, unterschiedliche Programme zu erstellen. - -Lassen Sie uns unten über die verschiedenen Teile einer Klasse lernen: - -{{% notice note %}} -### Klasse -Eine Klasse ist ein Bauplan oder Prototyp eines neuen Objekttyps. Im Allgemeinen enthält eine Klasse drei wichtige Teile: - - - -**Element** | **Beschreibung** | **Beispiel** ----|---|--- -**Datenfelder/Instanzvariablen** | Variablen, auf die ein Objekt dieser Klasse Zugriff hat und die das Objekt beschreiben | Zum Beispiel könnte eine Person-Klasse die Felder Augenfarbe, Alter, Größe haben. -**Konstruktor** | Methode, die automatisch aufgerufen wird, wenn ein Objekt dieser Klasse erstellt wird, Konstruktoren haben denselben Namen wie die Klasse | Es kann mehr als einen Konstruktor pro Klasse geben -**Methoden** | Methoden für das Objekt dieser Klasse zur Ausführung bestimmter Aufgaben | Die Person-Klasse könnte Methoden wie sprechen und gehen haben. - -Zum Beispiel: - -```csharp -public class Person{ - // (1) Datenfelder/Instanzvariablen - private String name; // Beispiel - private int age; - private int height; - - // (2) Konstruktor - Konstruktoren haben denselben Namen wie die Klasse - public Person() - { - name = "Bea"; - age = 29; - height = 167; - } - - // (2) Konstruktor - Sie können mehr als einen haben - public Person( String nameInput, int ageInput, int heightInput) - { - name = nameInput; - age = ageInput; - height = heightInput; - } - - // (3) Methoden - public void talk() - { - Console \ No newline at end of file diff --git a/content/german/csharp-basics/comments.md b/content/german/csharp-basics/comments.md deleted file mode 100644 index 114e84408..000000000 --- a/content/german/csharp-basics/comments.md +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: "Kommentare" -description: "Einführung in Kommentare in C#." -date: 2024-09-16T00:00:00Z -weight: 3 ---- - -## Einen Kommentar erstellen - -Beim Erstellen eines C#-Programms können wir uns Notizen machen, indem wir einen einzeiligen Kommentar mit `//` oder einen mehrzeiligen Kommentar mit `/*` und `*/` hinzufügen (Hinweis: Die Anweisungen in den vorherigen Aktivitäten wurden als Kommentare geschrieben). - -Das Hinzufügen von Kommentaren hat keinen Einfluss auf das Programm. Daher können Sie Kommentare in Ihrem Code hinzufügen, um zu dokumentieren, wie er für Sie und andere Programmierer funktioniert. - -```c# - // Beispiel für einen einzeiligen Kommentar - - /* Beispiel - * mehrzeiliger - * Kommentar */ -``` - -## Mit Kommentaren experimentieren - -Im .NET Fiddle-Frame unten, fügen Sie einen einzeiligen Kommentar und einen mehrzeiligen Kommentar zu Ihrem Programm hinzu. - - - -{{% notice tip %}} - -Sie können Ihren Code kommentieren, sodass der Computer ihn nicht ausführt. - -```c# -Console.Write("Ich esse gerne"); -// Console.Write("Äpfel."); -``` - -Wird "Ich esse gerne" in die Konsole schreiben, aber nicht "Äpfel". -{{% /notice %}} \ No newline at end of file diff --git a/content/german/csharp-basics/control-structures.md b/content/german/csharp-basics/control-structures.md deleted file mode 100644 index 1ebfad160..000000000 --- a/content/german/csharp-basics/control-structures.md +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: "Steuerstrukturen" -description: "Einführung in If-Else, For- und While-Schleifen in C#." -date: 2024-09-16T00:00:00Z -weight: 6 ---- - -## Eine Entscheidung treffen: If-Anweisung - -Patrick 🐥 ist eine sehr höfliche Ente, die jeden gerne mit „Guten Morgen“, „Guten Tag“ oder „Gute Nacht“ je nach aktueller Uhrzeit begrüßt. - -![Sonne geht schnell über einem Berg auf](https://media.giphy.com/media/hpWrLS1RDBd5pwkgjy/giphy.gif) -(Bild von National Geographic: giphy.com/natgeochannel)
- -Wie wir zuvor gelernt haben, können wir diese Aussagen wie unten ausdrucken: - -```C# -Console.WriteLine("Guten Morgen"); // sagen zwischen 0:00 - 11:59 -Console.WriteLine("Guten Tag"); // sagen zwischen 12:00 - 19:59 -Console.WriteLine("Gute Nacht"); // sagen zwischen 20:00 - 23:59 -``` - -Allerdings wissen wir auch, dass Patrick 🐥 sich abhängig von der aktuellen Zeit für eine dieser Aussagen entscheiden sollte. - -Mit anderen Worten, wir müssen Code schreiben, der eine Entscheidung darüber trifft, was basierend auf den Bedingungen der Situation (bedingt) ausgedruckt werden soll. - -In C# treffen wir Entscheidungen mit einer **If-Anweisung** oder einer **If-Else-Anweisung**. Lesen Sie die folgenden Notizen: - -{{% notice note %}} -### If-Anweisung - -``` -if(boolean expression){ - Action(s) to Take -} -``` - -Eine **If-Anweisung** folgt dem oben gezeigten Aufbau. Die auszuführenden Aktionen (Anweisungen) im Block werden nur ausgeführt, wenn der boolesche Ausdruck `true` ist. Andernfalls überspringt das Programm die Anweisung nach dem Block, wenn der Boolesche Ausdruck `false` ist. -### If-Else-Anweisung - -``` -if(boolean expression){ - Action(s) to Take A -}else{ - Action(s) to Take B -} -``` - -Eine **If-Else-Anweisung** folgt dem oben gezeigten Aufbau. Wenn der boolesche Ausdruck `true` ist, führt das Programm die `Action(s) to Take A` innerhalb des `if`-Blocks aus. Andernfalls führt das Programm nur `Action(s) to Take B` innerhalb des `else`-Blocks aus. - -### Beispiel - -```C# - bool likeMusic = true; - if(likeMusic == true) - { - Console.WriteLine("I like Music"); - } - else - { - Console.WriteLine("I don't like Music"); - } -``` - -Der obige Code druckt die Aussage „I like Music“ aus, da der boolesche Ausdruck `likeMusic == true` wahr ist. -{{% /notice %}} - -Lassen Sie uns das obige Begrüßungsbeispiel erneut betrachten und für Patrick die Entscheidung treffen, ob er „Guten Morgen“, „Guten Tag“ oder „Gute Nacht“ sagen soll. - -Patrick sollte „Guten Morgen“ zwischen 0:00 - 11:59, „Guten Tag“ zwischen 12:00 - 19:59 und „Gute Nacht“ zwischen 20:00 - 23:59 sagen. - -1. Wir haben eine Variable `currentHour`, die die aktuelle Stunde speichert. -2. Füllen Sie den korrekten `boolean expression A` und `boolean expression B` aus, um das Programm zu vervollständigen. -3. Testen Sie Ihr Ergebnis, indem Sie die Variable `currentHour` auf Zahlen von 0 bis 23 zuweisen: - - - -## Wiederholen: For-Schleife, While-Schleife - -Im Mathematikunterricht stellt Patricks 🐥 Lehrer der Klasse eine mathematische Herausforderung, und er könnte Hilfe benötigen. - -Der Lehrer fordert sie auf, die **Summe von 1, 2, 3, ..., 100** zu finden. Das heißt, was ist **1 + 2 + 3 + 4 ... + 99 + 100**? - -Obwohl wir dies in einen Taschenrechner eingeben können, dauert das eine Weile. Zum Glück kann man in C# dies mit Hilfe einer **For-Schleife** oder **While-Schleife** in 3 Zeilen leicht berechnen. - -{{% notice note %}} -**For-Schleifen** und **While-Schleifen** sind Steuerstrukturen in C \ No newline at end of file diff --git a/content/german/csharp-basics/methods.md b/content/german/csharp-basics/methods.md deleted file mode 100644 index 96d84eb40..000000000 --- a/content/german/csharp-basics/methods.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Methoden" -description: "Methoden in C# einführen." -date: 2024-09-16T00:00:00Z -weight: 7 ---- - -## Was ist eine Methode? - -Bisher haben wir gelernt, wie man Daten in Variablen speichert, Daten und Sätze ausgibt und Entscheidungen mit `if`-Anweisungen, `for`-Schleifen und `while`-Schleifen trifft. - -Aus der letzten Übung wissen wir, dass der folgende Codeblock die Summe von 1 bis 100 berechnet: - -```C# -int total = 0; -int num = 1; -while(num <= 100){ - total = total + num; - num = num + 1; -} -Console.WriteLine("Summe: " + total); -``` - -Aber was, wenn wir die Summe von 1 bis 77 berechnen wollen? Wie machen wir das, ohne den ganzen Codeblock erneut zu schreiben? - -Wir wollen eine ✨ Zauberkiste ✨ im Code erstellen, die die Berechnung für uns durchführt, egal für welche 2 Zahlen wir eine Summe bilden wollen! - - -In C# ist eine **Methode** wie die Zauberkiste, die eine bestimmte Aufgabe ausführt, indem sie einen Codeblock ausführt, der Benutzereingaben verwenden kann. - -Es gibt 2 Teile in einer Methode: Signatur und Körper: - -{{% notice note %}} -### Methodensignatur - -Um eine Methode zu definieren, müssen wir zuerst ihre Methodensignatur schreiben. Ein Signaturheader hat vier Hauptteile: - -``` -zugriffs_spezifizierer rückgabe_typ methoden_name(liste_von_parametern) -``` - -**Teilname** | **Beschreibung** | **Beispiele oder mögliche Optionen** -----|----|---- -**Zugriffsspezifizierer** | bietet das Zugriffslevel zur Methode | `public` sagt dem Computer, dass jeder diese Methode verwenden kann. `private` sagt, dass sie nur innerhalb einer Klasse aufgerufen werden kann. (Wir lernen auf der nächsten Seite über Klassen!) `protected` sagt, dass sie von Objekten derselben Klasse aufgerufen werden kann. -**Rückgabetyp** | Datentyp, der an die aufrufende Funktion zurückgegeben wird, technisch gesehen gehört der Rückgabetyp nicht zur Signatur in C# | `string` oder `int`, verwende `void`, wenn die Methode nichts zurückgibt. -**Methodenname** | Name der Methode, wird verwendet, um sie aufzurufen | ein beschreibender Name, den Sie basierend auf der Funktion der Methode wählen. -**Liste von Parametern** | Liste der Eingaben, die bereitgestellt werden müssen, wenn die Methode verwendet wird | kann null oder mehr Parameter in der Form von (`typ` `eingabename`, `typ` `eingabename`, ... ) haben. Verwende () für keine Parameter. - -``` -// ein Beispiel, das einen String als Parameter nimmt und einen anderen String als Antwort zurückgibt -public string artist (string songName) -``` -**Hinweis:** Die Variablennamen für die Parameter müssen nicht mit dem Variablennamen der Daten übereinstimmen, die in die Methode übergeben werden. - -### Methodenkörper - -Als nächstes platzieren wir den Codeblock in den **Methodenkörper**, der sich zwischen `{` und `}` nach der Methodensignatur befindet. - -Um einige Daten zurückzugeben, verwenden wir das Schlüsselwort `return` gefolgt von einem Variablennamen oder einem Wert, der zurückgegeben werden soll. - -**Hinweis:** Sobald Sie `return` verwenden, wird nichts mehr danach in der Methode ausgeführt. - -Dies ist ein Beispiel, wie man eine Methode definiert, die die Summe der Zahlen von `numA` bis `numB` berechnet: - -```c# -/* Methodenname: sumNum - * Eingabe/Parameter: 2 Zahlen vom Typ int - * Funktionalität: gibt die Summe von numA bis numB zurück - */ -public int sumNum(int numA, int numB){ - int total = 0; - int num = numA; // wir greifen auf die erste Eingabe mit dem Namen numA zu - while(num <= numB){ // wir greifen auf die erste Eingabe mit dem Namen numB zu - total = total + num; - num = num + 1; - } - return total; // Rückgabeb \ No newline at end of file diff --git a/content/german/csharp-basics/operators.md b/content/german/csharp-basics/operators.md deleted file mode 100644 index 806bf852c..000000000 --- a/content/german/csharp-basics/operators.md +++ /dev/null @@ -1,94 +0,0 @@ -```markdown ---- -title: "Operatoren" -description: "Einführung in Operatoren und Durchführung von Operationen auf Variablen in C#." -date: 2024-09-16T00:00:00Z -weight: 5 ---- - -## Mathe machen: Arithmetische Operatoren - -Im letzten Übung haben wir über Variablen gelernt und wie wir Werte einer Variable eines bestimmten Typs zuweisen können, wie zum Beispiel: - -```C# -int age = 3; // Deklariere Variable age vom Typ int mit Wert 3 -age = 4; // Weise 4 der Variable age zu -``` - -Betrachtet man den obigen Code, wird im Wesentlichen 1 zum Wert der Variable `age` hinzugefügt. - -In C# können wir mit **arithmetischen Operatoren** direkt mathematische Operationen auf Variablen durchführen: `+`, `-`, `*`, `/`, `%`. -Zum Beispiel können wir den Additionsoperator `+` verwenden, um 1 zu `age` hinzuzufügen: - -```c# -int age = 3; // Deklariere Variable age vom Typ int mit Wert 3 -age = age + 1;// Addiere 1 zu age -``` - -{{% notice note %}} -Die folgenden sind die arithmetischen Operatoren in C#: - -**Operator** | **Beschreibung** | **Beispiel** -------|------|-------- -`+` | Addition | `1 + 1 = 2` -`-` | Subtraktion | `2 - 1 = 1` -`*` | Multiplikation | `3 * 3 = 9` -`/` | Division | `9 / 3 = 3` -`%` | Modulus/Rest | `10 % 4 = 2` - -**Hinweis**: Wenn beide Operanden einer Division Ganzzahlen sind, ist das Ergebnis ebenfalls eine Ganzzahl. Zum Beispiel, `10 / 4` ergibt 2, nicht 2.5, da wir den Rest verwerfen. Wenn einer der Operanden ein Double ist, wird das Ergebnis ein Double. - -**Hinweis**: Verwenden Sie den Modulus-Operator (`%`), um den Rest der Division zu erhalten. - -{{% /notice %}} - -{{% notice tip %}} -Der Additionsoperator (`+`) wird bei Strings als Konkatenationsoperator verwendet. Zum Beispiel: - -`String name = "Patric" + "k";` ist dasselbe wie `String name = "Patrick";` -{{% /notice %}} - -### Anweisungen -1. Nutze das folgende Programm, um die arithmetischen Operatoren zu üben. Ändere die Zahlen, um die Antworten zu sehen. - - - -## Vergleiche: Relationale Operatoren - -Als nächstes lernen wir, wie man Zahlen mit **relationalen Operatoren** vergleicht. - -Genau wie in der Mathematik können wir Zahlen mit `>`, `<`, `>=`, `<=` vergleichen. Zum Beispiel: `(3 > 2)` ist `true`, ein boolescher Wert. - -{{% notice note %}} -Die folgenden sind die relationalen Operatoren in C#: - -**Operator** | **Beschreibung** | **Beispiel** -------| ------| ------ -`==` | gleich | `(3 == 3)` ist `true` -`!=` | ungleich | `(3 != 3)` ist `false` -`>` | größer als | `(3 > 2)` ist `true` -`<` | kleiner als | `(3 < 2)` ist `false` -`>=` | größer als oder gleich | `(3 >= 2)` ist `true` -`<=` | kleiner als oder gleich | `(2 <= 2)` ist `true` - -Hinweis: `==` und `!=` können nur bei Daten des gleichen Typs verwendet werden. Zum Beispiel: -```csharp -int x=3; -double y=3.0; -x==y; // Dies würde einen Fehler erzeugen, da x und y unterschiedliche Typen haben. -``` - -{{% /notice %}} - -{{% notice tip %}} -Ein Gleichheitszeichen weist einem Wert einer Variablen zu. Zwei Gleichheitszeichen vergleichen die Werte von zwei Elementen. - -```csharp -age = 3; // Setzt den Wert von age auf 3 -age == 3; // Überprüft, ob der Wert von age 3 ist -``` -{{% /notice %}} - -### Vergleichsübung - -1. Nutze das folgende Programm, um die Vergleichsoperatoren zu üben. Ändere die Zahlen, \ No newline at end of file diff --git a/content/german/csharp-basics/using-netfiddle.md b/content/german/csharp-basics/using-netfiddle.md deleted file mode 100644 index 94ae7ff86..000000000 --- a/content/german/csharp-basics/using-netfiddle.md +++ /dev/null @@ -1,42 +0,0 @@ -```yaml ---- -title: "Verwendung von .NET Fiddle" -date: 2024-09-17T00:00:00Z -weight: 1 -draft: false ---- -``` - -### Verwendung von .NET Fiddle - -Heute wirst du .NET Fiddle nutzen, um das Programmieren in C# zu lernen. - -Bevor wir beginnen, lass uns zuerst verstehen, wie das Fenster funktioniert. Auf der linken Seite hast du eine Liste von Optionen. Diese wurden bereits für dich eingestellt, sodass du dir darüber keine Gedanken machen musst. Die Mitte des Bildschirms enthält Code, also Anweisungen, die der Computer ausführen soll. Durch Drücken des **Ausführen**-Buttons (der Button mit dem Dreieck in der Mitte oben im Rahmen) teilst du dem Computer mit, dass er die Anweisungen im Code ausführen soll. Die Ergebnisse des ausgeführten Codes werden unten auf dem Bildschirm angezeigt. - - - -Nimm dir etwas Zeit, um das Tool unten kennenzulernen. - - - -### Einige Tipps zu C# - -Ein paar wichtige Tipps: -1. Jede Codezeile endet mit einem Semikolon `;` -2. Es wird Code in den Beispielen geben, den du nicht verstehst. Das ist in Ordnung, ignoriere ihn vorerst und konzentriere dich auf die Aufgabe, an der du gerade arbeitest. - -## Speichern deiner Arbeit - -Wenn du deine Arbeit während dieser Übungen speichern möchtest, musst du dich für ein .NET Fiddle-Konto anmelden, falls du noch keins hast. - -Klicke auf den Button unten, um dich für ein .NET Fiddle-Konto anzumelden – du benötigst ein E-Mail-Konto, um dich anzumelden. Wenn du bereits ein .NET Fiddle-Konto hast, kannst du dich mit dem untenstehenden Button in dein Konto einloggen. - -Registrieren für .NET Fiddle - - - -Danach kannst du das Fiddle *forken*, was einfach bedeutet, eine Kopie des Programms zu erstellen, sodass wir eigene Änderungen daran machen und speichern können. Klicke auf den "Fork"-Button oben. - -Nachdem du das Fiddle geforkt hast, siehst du ein Fenster ähnlich dem untenstehenden: - - \ No newline at end of file diff --git a/content/german/csharp-basics/variables.md b/content/german/csharp-basics/variables.md deleted file mode 100644 index df67051f6..000000000 --- a/content/german/csharp-basics/variables.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: "Variablen und Datentypen" -description: "Typen und Variablen in C# einführen." -date: 2024-09-16T00:00:00Z -weight: 4 ---- - -## Variablen: Benenne es! - -Im ersten Übungsbeispiel haben wir gelernt, verschiedene Anweisungen mit `Console.WriteLine() und Console.Write()` auszugeben. - -Es ist zwar großartig, eine Zahl oder einen Satz auszugeben, aber wir haben ihnen keine Bedeutung gegeben, und wenn wir den Satz oder die Zahl erneut verwenden wollten, müssten wir sie erneut eingeben. - -In C# führen wir die Idee einer **Variable** für Daten ein. Eine Variable speichert ein Stück Daten mit einem Namen. - -Zum Beispiel könnte es eine Variable namens `myName` geben, die den Wert `"Ann"` zugewiesen bekommt. Eine andere Variable könnte `age` heißen und die Zahl `12` zugewiesen bekommen. - -## Was für ein Typ! - -Wie erstellen wir diese Variablen in C#, um Daten zu speichern? - -Bevor wir lernen, wie man Variablen erstellt, müssen wir das Konzept des **Datentyps** in C# verstehen, oder einfach **Typ**. Ein Typ in C# beschreibt, was gespeichert wird. Wenn Sie eine Zahlenvariable haben, kann sie nur Zahlen enthalten, keine Sätze oder Symbole. Jede Variable hat ihren eigenen Typ, der kontrolliert, welche Art von Daten sie halten kann. - -Zum Beispiel könnten wir eine Variable namens `age` haben, die die Zahl `12` speichert. Wenn Sie versuchen, das Wort `"twelve"` in `age` zu speichern, wird ein Fehler generiert, da es nur Zahlen kennt. - -In C#, um ganze Zahlen zu speichern, verwenden wir den Typ `int`. Wir deklarieren eine `int` Variable namens `age` mit den Daten `3` mit dem Code: - -``` -int age = 12; -``` -Im Allgemeinen deklarieren wir eine Variable im Format: `[Datentyp] [Variablenname] = [Daten];`. -{{% notice note %}} -Die folgenden sind die wichtigen Datentypen, die in C# integriert sind: - -**Typ** | **Beschreibung** | **Beispiele** ---------|-----------|---------- -`int` | Ganzzahl | `20`, `30`, `35` -`char` | Zeichen wie ein Symbol oder ein einzelner Buchstabe | `'A'`,`'b'`, `'('`, `']'` -`string` | eine Folge von `char` | `"Hello"`, `"Bonjour"`, `"Hola"` -`bool` | Boolean, hat den Wert entweder `true` oder `false` | `true`, `false` -`double` | Bruchzahlen | `2.0`, `3.14`, `9.33` - -{{% /notice %}} - -In unserem vorherigen Beispiel, um diese Variablen in C# zu deklarieren, geben wir folgendes ein: - -```C# -string name = "Ann"; -int age = 12; -boolean loveMusic = true; -``` - -Die letzte Variable ist eine interessante. Sie kann nur den Wert `true` oder `false` haben. Wir werden sehen, dass dies in den fortgeschritteneren Abschnitten dieses Workshops sehr hilfreich sein kann. - -## Mit Variablen spielen - -Schauen wir mal, was wir mit Variablen machen können. - -Im .NET Fiddle Frame unten, forken Sie das Fiddle und versuchen Sie, diese Zeilen einzugeben und **führen Sie aus**: - -```C# -int age = 10; -Console.WriteLine(age); // gibt 10 aus -age = 12; // weist der Variable age den Wert 12 zu -Console.WriteLine(age); // gibt 12 aus -``` -Wir können einer Variable einen Wert zuweisen, auf sie verweisen und dann den Wert ändern. - - - -## Was für ein Typ -- Hilf Patrick! - -Patrick 🐥 ist kein Meister der Datentypen! Er hat sie oft verwechselt, wenn er Variablen deklariert. Lassen Sie uns ihm helfen, seine Fehler im .NET Fiddle unten zu beheben. - - \ No newline at end of file diff --git a/content/german/csharp-basics/write-to-console.md b/content/german/csharp-basics/write-to-console.md deleted file mode 100644 index c3d6554ee..000000000 --- a/content/german/csharp-basics/write-to-console.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "In die Konsole schreiben" -description: "Einführung in die Print-Methoden in C#." -date: 2024-09-16T00:00:00Z -weight: 2 ---- - -## Dein erstes C#-Programm - -Unsere erste Übung besteht darin, uns mit der Struktur einer einfachen C#-Anwendung vertraut zu machen, die in die Konsole schreibt. - -Lass uns versuchen, ein C#-Programm auszuführen, das `Hello World` in die Konsole druckt. Die Codezeile `Console.WriteLine ("Hello World");` macht genau das für uns. Sie weist den Computer an, alles zwischen den () auf den Bildschirm zu schreiben. - -### Lass uns etwas Code schreiben! - - - -Füge im obigen .NET Fiddle-Fenster eine neue Codezeile unter der ersten Zeile hinzu, um "Hello *dein Name*" zu drucken. Es sollte ungefähr so aussehen: - - - -Du solltest deine Ausgabe unten auf dem Bildschirm sehen. Cool, oder? - -Lass uns versuchen, andere Dinge zu drucken. Füge einige zusätzliche Codezeilen hinzu, um: -1. Zahlen zu drucken, indem du Zahlen in die Klammern setzt (z.B. `Console.WriteLine(42);`). Keine Anführungszeichen benötigt. -2. Texte zusammenzufügen (z.B. `Console.WriteLine("Hi " + "Sally");`) - -{{% notice tip %}} -### Hast du bemerkt, dass alle Anweisungen, die du getippt hast, auf verschiedenen Zeilen gedruckt wurden? - -Manchmal wollen wir auf derselben Zeile schreiben. Dafür verwenden wir einen etwas anderen Code `Console.Write` anstelle von `Console.WriteLine`. - -Füge zwei Codezeilen hinzu: -```csharp -Console.Write("I like to eat "); -Console.Write("apples."); -``` - -Und probiere es aus. -{{% /notice %}} - -{{% notice warning %}} -### !! Wichtig !! Manchmal kannst du nicht einfach Zeichen in " " setzen - -Beim Einfügen von Zeichen in `" "` in einer Druckanweisung kann es manchmal leicht passieren, dass der Computer verwirrt wird, welche Zeichen gedruckt werden sollen. - -Zum Beispiel, wie sagen wir dem Computer, dass er `"` drucken soll? - -Wenn du `Console.WriteLine(""");` eingibst, bekommst du einen Fehler, weil der Computer nicht erkennen kann, wo der Text endet! - -Stattdessen müssen bestimmte Zeichen escaped werden, indem ein `\` davor gesetzt wird. - -```csharp -Console.Writeline("\"");` // dies druckt " -``` -{{% /notice %}} \ No newline at end of file diff --git a/content/kyrgyz/csharp-basics/classes-and-objects.md b/content/kyrgyz/csharp-basics/classes-and-objects.md deleted file mode 100644 index 928f78779..000000000 --- a/content/kyrgyz/csharp-basics/classes-and-objects.md +++ /dev/null @@ -1,56 +0,0 @@ -```markdown -## Объект жана Класс деген эмне? - -Объект – белгилүү бир мүнөздөмөлөргө ээ жана белгилүү бир тапшырмаларды аткара ала турган нерсе (зат аты). Класс – бул объекттин түзүлүшү же аныктамасы. - -Мисалы, Адам деген – класс. Адамдын башка адамдан айырмалаган белгилүү бир мүнөздөмөлөрү болушу мүмкүн. Ал көк көздүү болушу мүмкүн, 15 жашта болушу мүмкүн ж.б. Адам ошондой эле өзү аткара ала турган белгилүү бир тапшырмалары болушу мүмкүн. Ал басып жүрөт, сүйлөй алат ж.б. - -C# Объектиси C# Классынын экземпляры. Бул учурда "Bea" "Адам". "Bea" күрөң көздөргө ээ. Бул "Bea"нин касиети (же маалымат талаасы). "Bea" англисче сүйлөй алат. "Bea" испанча сүйлөй алат. Булар "Bea" аткара ала турган методдор. - -## Классты түзүү! - -C# – бул **объектке багытталган** программалоо тили, демек C# тилиндеги бардык нерсе **объект** жана **класс** менен байланышкан (объект үчүн түзүлүшү). - -Баштапкы учурда, биздин 1-иш аракетиндеги билдирүүлөрдү чыгаруу үчүн колдонгон кодго сап – бул `System` деген алдын ала аныкталган класстан алынган метод чакыруу! - -```csharp -Console.WriteLine("Hello World"); -``` - -1. `Console` – бул колдонуучунун киришин жана чыгышын иштете турган класс. -3. `WriteLine()` – бул `Console` классында аныкталган метод. - -Мурдагы көнүгүүлөрдө биз байланышта болгон дагы бир алдын ала аныкталган класс бул `string`. `string` класс мүнөздөр тизмегинин кантип иштеши керектиги боюнча эрежелерди аныктайт. - -Төмөнкү код сап менен, биз `string` класста аныкталган эрежелерди колдонуп, `name` деп аталган `string` объектти түздүк: - -```csharp -string name = "Patrick"; -``` - -`Console` жана `string` C# тилиндеги алдын ала аныкталган класстар. Бирок, биз бул алдын ала аныкталган класстар менен чектелген эмеспиз, биз классты жазуу аркылуу өз маалымат түрүн түзө алабыз! Бул программисттерге белгилүү объекттерге айрым атрибуттар жана аракеттерди жаратканга жардам берет. Колдонуучунун аныктаган түрлөрүнө жетүү мүмкүнчүлүгүнө ээ болуу бизге ар кандай программаларды курууга мүмкүндүк берет. - -Төмөндө класстын ар кандай бөлүктөрү менен таанышалы: - -{{% notice note %}} -### Класс -Класс – бул жаңы типтеги объекттин түзүлүшү же прототиби. Жалпысынан класста үч маанилүү бөлүгү болот: - - - -**Элемент** | **Түшүндүрмө** | **Мисал** ----|---|--- -**маалымат талаалары/экземплярдык өзгөрмөлөр** | объектти сүрөттөй турган бул класстын объектисинин өзгөрмөлөрү | Мисалы, Адам классы көздүн түсү, жаш курагы, бою болгон талааларын камтышы мүмкүн. -**конструктор** | бул класстан объекти түзүлгөндө автоматтык түрдө чакырылуучу метод, конструкторлор класстын аты менен бирдей | Бир класста бирден ашык конструктор болушу мүмкүн -**методдор** | бул класстын объектисинин белгилүү тапшырмаларды аткаруу аракеттери | Адам классы сүйлөө жана басуу методдору болушу мүмкүн. - -Мисал: - -```csharp -public class Person{ - // (1) маалымат талаалары/экземплярдык өзгөрмөлөр - private String name; // мисал - private int age; - private int height; - - // (2) конструктор - конструкторлор \ No newline at end of file diff --git a/content/kyrgyz/csharp-basics/comments.md b/content/kyrgyz/csharp-basics/comments.md deleted file mode 100644 index b98087b68..000000000 --- a/content/kyrgyz/csharp-basics/comments.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "Түшүндүрмөлөр" -description: "C# тилиндеги түшүндүрмөлөр менен тааныштыруу." -date: 2024-09-16T00:00:00Z -weight: 3 ---- - -## Түшүндүрмө Киргизүү - -C# программасын түзүп жатканда, бир саптуу түшүндүрмөлөрдү `//` менен же көп саптуу түшүндүрмөлөрдү `/*` жана `*/` менен киргизүп, ноталар жазып алышыңыз мүмкүн (Эскертүү: Мурдагы тапшырмалардагы көрсөтмөлөр түшүндүрмө катары жазылган). - -Түшүндүрмөлөрдү кошуу программага эч кандай таасир этпейт. Ошондуктан, программаны өзүңүз үчүн жана башка программисттер үчүн кантип иштей тургандыгын документтештирүү максатында түшүндүрмөлөрдү кодунунүз боюнча кошуп турушуңуз мүмкүн. - -```c# - // бир саптуу түшүндүрмө үлгүсү - - /* көп саптуу - * түшүндүрмө - * үлгүсү */ -``` - -## Түшүндүрмөлөр Менен Ойноп Көрүңүз - -Төмөндөгү .NET Fiddle алкагына, программаңызга бир саптуу жана көп саптуу түшүндүрмө кошуңуз. - - - -{{% notice tip %}} - -Компьютер кодду иштетпеши үчүн аны түшүндүрмө кылып койсоңуз болот. - -```c# -Console.Write("Мен жегенди жакшы көрөм"); -// Console.Write("алмалар."); -``` - -Консолго "Мен жегенди жакшы көрөм" деп жазат, бирок "алмалар" деп жазбайт. -{{% /notice %}} - diff --git a/content/kyrgyz/csharp-basics/control-structures.md b/content/kyrgyz/csharp-basics/control-structures.md deleted file mode 100644 index c7a939a9a..000000000 --- a/content/kyrgyz/csharp-basics/control-structures.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -title: "Башкаруу Структуралары" -description: "C# тилиндеги if-else, for жана while циклдери менен таанышуу." -date: 2024-09-16T00:00:00Z -weight: 6 ---- - -## Чечим кабыл алуу: If-Statement - -Патрик 🐥 абдан сылык өрдөк жана ал бардык кезиккен адамдарга учурдагы убакытка жараша "Кутман таң", "Кутман күн" же "Кутман түн" айтууну жактырат. - -![Тез көтөрүлүп келе жаткан күн](https://media.giphy.com/media/hpWrLS1RDBd5pwkgjy/giphy.gif) -(сүрөт National Geographic: giphy.com/natgeochannel)
- -Биз мурун үйрөнгөндөй эле, бул билдирүүлөрдү төмөнкүчө чыгара алабыз: - -```C# -Console.WriteLine("Кутман таң"); // 0:00 - 11:59 аралыгында айтып берүү -Console.WriteLine("Кутман күн"); // 12:00 - 19:59 аралыгында айтып берүү -Console.WriteLine("Кутман түн"); // 20:00 - 23:59 аралыгында айтып берүү -``` - -Бирок, биз ошондой эле Патрик 🐥 учурдагы убакытка жараша ушул билдирүүлөрдүн бирөөнү гана айтууну чечиши керек экенин билебиз. - -Башкача айтканда, биз кырдаалдын шарттарына (шарттуу түрдө) жараша эмнени басып чыгарууну чечкен код жазышыбыз керек. - -C# тилинде биз чечимди **if statement** же **if...else statement** менен кабыл алабыз. Төмөнкү эскертмелерди окуңуз: - -{{% notice note %}} -### If Statement - -``` -if(булин сөз айкашы){ - Аткарылуучу аракеттер -} -``` - -**If statement** жогоруда көрсөтүлгөн структураны ээрчийт. Блоктогу аракеттер (билдирүүлөр) булин сөз айкашы `true` болгондо гана аткарылат. Болбосо, программа блоктон кийинки билдирүүгө өтөт, эгерде Булик сөз айкашы `false` болсо. -### If-Else Statement - -``` -if(булин сөз айкашы){ - Аткарылуучу аракеттер A -}else{ - Аткарылуучу аракеттер B -} -``` - -**If-else statement** жогоруда көрсөтүлгөн структураны ээрчийт. Эгерде булин сөз айкашы `true` болсо, программа `if` блогундагы `Аткарылуучу аракеттер A` аткарат. Болбосо, программа `else` блогундагы `Аткарылуучу аракеттер B` гана аткарат. - -### Мисал - -```C# - bool музыкаЖакатамын = true; - if(музыкаЖакатамын == true) - { - Console.WriteLine("Мен музыка жакатам"); - } - else - { - Console.WriteLine("Мен музыка жакатпайм"); - } -``` - -Жогорудагы код `Мен музыка жакатам` деген билдирүүнү басып чыгарат, анткени булин сөз айкашы, `музыкаЖакатамын == true`, чын. - -{{% /notice %}} - -Жогорудагы саламдашуу мисалына кайра кайрылып, Патриктин "Кутман таң," "Кутман күн," "Кутман түн" айтуусун чечели. - -Патрик "Кутман таңды" 0:00 - 11:59 аралыгында, "Кутман күндү" 12:00 - 19:59 аралыгында, жана "Кутман түндү" 20:00 - 23:59 аралыгында айтуусу керек. - -1. Бизде учурдагы саатты сактаган `currentHour` деген өзгөрмө бар. -2. Программаны толуктоо үчүн туура `булин сөз айкашы A` жана `булин сөз айкашы B` толтургула. -3. Натыйжаңарды 0дон 23кө чейинки сандарды `currentHour` өзгөрмөсүнө бериш аркылуу текшерип көргүлө. - - - -C# тилинде, **метод** конкреттүү тапшырманы аткарган сыйкырдуу кутуча сыяктуу, колдонуучунун киргизген маалыматтарын колдонуу менен аткарылат. - -Метод эки бөлүктөн турат: кол тамга жана дене: - -{{% notice note %}} -### Методдун Кол Тамгасы - -Методду аныктоо үчүн, биринчи анын методдун кол тамгасын жазышыбыз керек. Кол тамгасы төрт негизги часттан турат: - -``` -access_specifier return_type method_name(list_of_parameters) -``` - -**Бөлүк Аты** | **Түшүндүрмө** | **Мисалдар же мүмкүн болгон варианттар** -----|----|---- -**жетүү спецификатору** | методго жетүүнүн деңгээлин камсыздайт | `public` компьютерге бул методду каалаган адам колдонсо болорун айтат. `private` методду класстын ичинде гана колдонууга болорун билдирет. (Класстар жөнүндө кийинки бетте үйрөнөбүз!) `protected` класс объекттери тарабынан чакырылуусуна болот. -**кайтаруу түрү** | кайтарылган маалымат түрү, техникалык жактан кайтаруу түрү C# тилинде кол тамгасына кирбейт | `string` же `int`, метод эч нерсе кайтарбаса `void` колдонуңуз. -**метод аты** | методдун аты, аны чакырганда колдонулат | методдун аткара турган ишине карап тандалган сүрөттөөчү ат. -**параметрлердин тизмеси** | методу менен колдонулган учурда берилүүчү параметрлердин тизмеси | параметрлер болбосо `()` колдонуңуз. - -``` -// параметр катары сүрөтмө алып, жооп катары дагы бир сүрөтмө кайтара турган мисал -public string artist (string songName) -``` -**Эскертүү:** Параметрлердин өзгөрмө аттары методго өткөрүлгөн маалыматтын өзгөрмө аты менен дал келиши шарт эмес. - -### Методдун Дени - -Андан кийин, методго байланышкан код блокту **методдун денесиндеги** `{` жана `}` ортосуна жайгаштырабыз. - -Маалымат кайтаруу үчүн, `return` ачкыч сөзүн колдонуп, кайтарылуучу өзгөрмө атын же маанини көрсөтөбүз. - -**Эскертүү:** Бир жолу `return` командасын аткаргандан кийин, методдо башка эч нерсе аткарылбайт. - -Бул `numA` аркылуу `numB` сандардын суммасын эсептеген методду аныктоонун мисалы болуп эсептелет: - -```c# -/* Метод Аты: sumNum - * Кирүү/Параметр: 2 сандын типи int - * Функционал \ No newline at end of file diff --git a/content/kyrgyz/csharp-basics/operators.md b/content/kyrgyz/csharp-basics/operators.md deleted file mode 100644 index 336b04fc4..000000000 --- a/content/kyrgyz/csharp-basics/operators.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: "Операторлор" -description: "C# тилиндеги операторлор менен таанышып, айнымалыларга операцияларды жүргүзүү." -date: 2024-09-16T00:00:00Z -weight: 5 ---- - -## Математика жасайлы: Арифметикалык Оператор - -Акыркы көнүгүүдө биз айнымалылар жөнүндө жана кандайдыр бир типтеги айнымалыга маанилерди кантип ыйгарууга болоорун үйрөндүк, мисалы: - -```C# -int age = 3; // башкаруучу түрүндө age айнымалысын мааниси 3 менен жарыялоо -age = 4; // age айнымалысына 4тү ыйгаруу -``` - -Жогору жактагы кодго карап, ал негизинен `age` айнымалысынын мааниине 1 кошот. - -Жана, C# тилинде биз айнымалыларга математика операцияларын түздөн-түз **арифметикалык операторлор** менен иштете алабыз: `+`, `-`, `*`, `/`, `%`. -Мисалы, биз `age` маанисине 1 кошуу үчүн `+` кошуу операторун колдоно алабыз: - -```c# -int age = 3; // башкаруучу түрүндө age айнымалысын мааниси 3 менен жарыялоо -age = age + 1;// age маанисине 1 кошуу -``` - -{{% notice note %}} -C# аркылуу арифметикалык операторлор төмөнкүлөр: - -**Оператор** | **Баяндоо** | **Мисал** -------|------|-------- -`+` | кошуу | `1 + 1 = 2` -`-` | кемитүү | `2 - 1 = 1` -`*` | көбөйтүү | `3 * 3 = 9` -`/` | бөлүү | `9 / 3 = 3` -`%` | модул/калдык | `10 % 4 = 2` - -**Эскертүү**: Эгер бөлүүнүн эки операнды да бүтүн сан болсо, анда жыйынтык да бүтүн сан болот. Мисалы, `10 / 4` 2 кайтарат, 2.5 эмес, анткени калдыкты таштап коёбуз. Эгер операнддардын бирөөсү double болсо, жыйынтык double болот. - -**Эскертүү**: Модул операциясын (`%`) бөлүү операциясынын калдыгын алуу үчүн колдонуңуз. - -{{% /notice %}} - -{{% notice tip %}} -Кошуу (`+`) оператору Strings үчүн конкатенация оператору катары колдонулат. Мисалы: - -`String name = "Patric" + "k";` бул `String name = "Patrick";` менен барабар. -{{% /notice %}} - -### Нускамалар -1. Төмөнкү программанын жардамы менен арифметикалык операторлорду колдонуп көрүңүз. Сандарды өзгөртүп, жоопторду көрүңүз. - - - -## Салыштыруу: Реляциялык Оператор - -Эми, санды кантип салыштырууну үйрөнөлү, **реляциялык операторлорду** колдонуу менен. - -Математикадагыдай эле, биз сандарды `>`, `<`, `>=`, `<=` операторлору аркылуу салыштыра алабыз. Мисалы: `(3 > 2)` — бул `true`, логикалык мааниси. - -{{% notice note %}} -C# аркылуу реляциялык операторлор төмөнкүлөр: - -**Оператор** | **Баяндоо** | **Мисал** -------| ------| ------ -`==` | барабар | `(3 == 3)` бул `true` -`!=` | барабар эмес | `(3 != 3)` бул `false` -`>` | чоң | `(3 > 2)` бул `true` -`<` | кичине | `(3 < 2)` бул `false` -`>=` | чоң же барабар | `(3 >= 2)` бул `true` -`<=` | кичине же барабар | `(2 <= 2)` бул `true` - -Эскертүү: `==` жана `!=` бирдей типтеги маалыматтарга гана колдонулушу мүмкүн. Мисалы: -```csharp -int x=3; diff --git a/content/kyrgyz/csharp-basics/using-netfiddle.md b/content/kyrgyz/csharp-basics/using-netfiddle.md deleted file mode 100644 index 2bb0ef0f6..000000000 --- a/content/kyrgyz/csharp-basics/using-netfiddle.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "Using .NET Fiddle" -date: 2024-09-17T00:00:00Z -weight: 1 -draft: false ---- - -### .NET Fiddle колдонуу -Бүгүн сиз C# код жазууну үйрөнүү үчүн .NET Fiddle колдоносуз. - -Бошоткучтан баштаганда, терезенин кандай иштээрин түшүнүп алайлы. Сол тарабында параметрлердин тизмеси бар. Булардын бардыгы орнотулган, андыктан алар жөнүндө кабатыр болбоңуз. Экрандын ортосунда компьютер аткара турган код, же көрсөтмөлөр бар. **Run** баскычын басуу менен (терезенин жогору жагындагы үч бурчтук бар баскыч) сиз компьютерге коддогу көрсөтмөлөрдү аткарууну айтасыз. Коддун жыйынтыгы экрандын астында көрсөтүлөт. - - - -Төмөндөгү куралды убакыт бөлүп изилдеңиз. - - - -### C# боюнча кеңештер - -Кээ бир маанилүү кеңештер: -1. Ар бир код сапы чекит менен аяктайт `;` -2. Мисалдарда сиз түшүнбөгөн код болот. Бул жакшы, азырынча аларды өткөрүңүз жана иштеп жаткан тапшырмаңызга көңүл буруңуз. - -## Эмгегиңизди сактоо - -Эгер бул тапшырмалардын жүрүшүндө эмгегиңизди сактагыңыз келсе, .NET Fiddle аккаунтуна катталууңуз керек, эгерде сизде жок болсо. - -Төмөнкү баскыч аркылуу .NET Fiddle аккаунтуна катталыңыз - катталуу үчүн электрондук почта эсеби керек болот. Эгер .NET Fiddle аккаунтуңуз бар болсо, анда төмөнкү баскыч аркылуу аккаунтуңузга кире аласыз. - -.NET Fiddle үчүн катталыңыз - - - -Андан соң, эми Fiddle-ди *fork* кылыңыз, бул программадан көчүрмө жасоо дегенди билдирет, ошондуктан өз өзгөртүүлөрүбүздү жасоого жана сактоого болот. Үстүңкү жагындагы "Fork" баскычын басыңыз. - -Fiddle-ди fork кылгандан кийин, төмөндөгүдөй терезени көрөсүз: - - \ No newline at end of file diff --git a/content/kyrgyz/csharp-basics/variables.md b/content/kyrgyz/csharp-basics/variables.md deleted file mode 100644 index c3cf3861f..000000000 --- a/content/kyrgyz/csharp-basics/variables.md +++ /dev/null @@ -1,70 +0,0 @@ -```markdown ---- -title: "Өзгөрмөлөр жана Маалымат Түрлөрү" -description: "C# тилиндеги түрлөр жана өзгөрмөлөр менен таанышуу." -date: 2024-09-16T00:00:00Z -weight: 4 ---- - -## Өзгөрмөлөр: Аты менен ата! - -Биринчи көнүгүүдө биз ар кандай билдирүүлөрдү `Console.WriteLine() and Console.Write()` менен чыгара алганыбызды үйрөндүк. - -Сан же сүйлөмдү чыгаруу жакшы, бирок биз аларга маани бербедик жана дагы бир жолу ошол сүйлөмдү же санды колдонгуубуз келсе, кайра теришибиз керек болот. - -C# тилинде биз маалымат үчүн **өзгөрмө** концепциясын киргизебиз. Өзгөрмө бир бөлүкчö маалыматты ат менен сактайт. - -Мисалы, `"Ann"` мааниси ыйгарылган `myName` деп аталган өзгөрмө болуусу мүмкүн. Башка өзгөрмө `age` деп аталат жана ага `12` саны ыйгарылган. - -## Түрү кандай! - -Ошентип, C# тилинде бул өзгөрмөлөрдү маалыматты сактоо үчүн кантип түзө алабыз? - -Өзгөрмөлөрдү түзүүнү үйрөнөөрдөн мурда, C# тилиндеги **маалымат түрү** же кыскараак айтканда **түр** түшүнүгүн үйрөнүшүбүз керек. C# тилде түр сакталуучу нерсени сүрөттөйт. Эгерде сизде сан өзгөрмөсү болсо, анда ал тек гана сандарды камтый алат, сүйлөмдөрдү же символдорду эмес. Ар бир өзгөрмөнүн өз түрү бар, ал кандай маалымат сактай аларын көзөмөлдөйт. - -Мисалы, `age` деп аталган өзгөрмө бизде 12 санын сакташы мүмкүн. Эгер `age` өзгөрмөсүнө `"twelve"` сөзүн сактоого аракет кылсаңыз, ал ката берет, анткени ал тек гана сандарды билет. - -C# тилде бүтүн сандарды сактоо үчүн `int` түрүн колдонобуз. `age` деп аталган `int` түрүндөгү өзгөрмөнү `3` деген маалымат менен жарыялайбыз: - -``` -int age = 12; -``` - -Жалпысынан, өзгөрмөнү жарыялоо үчүн, биз аларды төмөнкү форматта жазабыз: `[маалымат түрү] [өзгөрмө аталышы] = [маалымат];`. - -{{% notice note %}} -C# тилинде алдын ала аныкталган маанилүү маалымат түрлөрү: - -**Түрү** | **Сүрөттөмө** | **Мисалдар** ---------|-----------|---------- -`int` | бүтүн сан | `20`, `30`, `35` -`char` | символ же тамга | `'A'`,`'b'`, `'('`, `']'` -`string` | `char` тизмеги | `"Hello"`, `"Bonjour"`, `"Hola"` -`bool` | логикалык, `true` же `false` мааниси бар | `true`, `false` -`double` | бөлчөк сандар | `2.0`, `3.14`, `9.33` - -{{% /notice %}} - -Буга чейинки мисалдагы өзгөрмөлөрдү C# тилинде жарыялоо үчүн, биз төмөнкүлөрдү жазабыз: - -```C# -string name = "Ann"; -int age = 12; -boolean loveMusic = true; -``` - -Акыркы өзгөрмө кызыктуу. Ал тек гана `true` же `false` маанисине ээ боло алат. Бул семинардын андан аркы бөлүктөрүндө абдан пайдалуу болооруна күбө болобуз. - -## Өзгөрмөлөр менен ойноо - -Келгиле, өзгөрмөлөр менен эмне кылууга болорун карап көрөлү. - -Төмөнкү .NET Fiddle рамкасында, Fiddle'ди көчүрүп, төмөнкү саптарды жазып **иштетип көрүңүз**: - -```C# -int age = 10; -Console.WriteLine(age); // 10 басылып чыгат -age = 12; // age өзгөрмөсүнө 12 санын ыйгаруу -Console.WriteLine(age); // 12 басылып чыгат -``` -Өзг \ No newline at end of file diff --git a/content/kyrgyz/csharp-basics/write-to-console.md b/content/kyrgyz/csharp-basics/write-to-console.md deleted file mode 100644 index bb6d185c9..000000000 --- a/content/kyrgyz/csharp-basics/write-to-console.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Консолго жазуу" -description: "C# тилиндеги басып чыгаруу ыкмаларын тапшыруу." -date: 2024-09-16T00:00:00Z -weight: 2 ---- - -## Алгачкы C# программаныз - -Биздин биринчи тапшырма – консолго жазган жөнөкөй C# тиркемесинин түзүлүшү менен таанышуу. - -`Hello World` деп басып чыгарган C# программасын иштетип көрөлү. `Console.WriteLine ("Hello World");` деген код бул ишти аткарат. Анын ичиндеги () эмне болсо, экранга жазуу тапшырылат. - -### Код жазалы! - - - -Жогорудагы .NET Fiddle терезесинде биринчи саптын астына "Hello *атыңар*" деп кошумча сап жазгыла. Ал төмөнкүдөй көрүнүш керек. - - - -Экрандын астында натыйжаңарды көрөсүңөр. Кызыктуу эмеспи? - -Келгиле, башка нерселерди да басып көрөлү. Кошумча код саптарын жазып: -1. Сан жаз (мисалы, `Console.WriteLine(42);`). Кош тырмак жок. -2. Текстти бириктирип жаз (мисалы, `Console.WriteLine("Hi " + "Sally");`) - -{{% notice tip %}} -### Сага баардык жазган билдирүүлөр ар башка сапта чыкканын байкадыңбы? - -Кээде биз бир сапка жазгыбыз келет. Ага `Console.WriteLine` ордуна `Console.Write` колдонобуз. - -Эки сап жаз: -```csharp -Console.Write("I like to eat "); -Console.Write("apples."); -``` - -Жана аны сынап көр. -{{% /notice %}} - -{{% notice warning %}} -### !! Маанилүү !! Кээде " " арасында белгини жаза албайсың - -Басып чыгаруучу билдирүүдө `" "` аралыкка белгилерди жазганда, компьютерге кайсы белгилерди жазууну түшүндүрүү кыйын болушу мүмкүн. - -Мисалы, компьютерге `"` белгисин кантип басып чыгарабыз? - -Эгер `Console.WriteLine(""");` деп жазсаң, каталык чыгат, анткени компьютер тексттин кайсы жерде аяктай турганын түшүнө албайт! - -Айрым белгилерди качуу үчүн алардын алдында `\` кошобуз. - -```csharp -Console.Writeline("\"");` // бул " белгисин басып чыгарат -``` -{{% /notice %}} \ No newline at end of file diff --git a/content/simplified-chinese/csharp-basics/classes-and-objects.md b/content/simplified-chinese/csharp-basics/classes-and-objects.md deleted file mode 100644 index ded8b4b17..000000000 --- a/content/simplified-chinese/csharp-basics/classes-and-objects.md +++ /dev/null @@ -1,107 +0,0 @@ -```markdown ---- -title: "Classes and Objects" -description: "Introduce classes and objects in C#." -date: 2024-09-16T00:00:00Z -weight: 8 ---- - -## 什么是对象和类? - -对象是具有某些特征并能执行某些任务的事物(名词)。类是在创建对象时的蓝图或定义。 - -例如“人”。“人”是一种类。人可以有某些特征使其与他人区别开来。比如可以有蓝色的眼睛,可以是 15 岁,等等。一个人还可以执行某些任务,比如可以走路,可以说话,等等。 - -C#中的对象是C#类的实例。比如“Bea”是一个“人”。“Bea”有棕色眼睛。这是“Bea”的一个属性(或数据字段)。“Bea”可以用英语交流。“Bea”可以用西班牙语交流。这些是“Bea”可以执行的方法。 - -## 创建一个类! - -C# 是一种面向对象的编程语言,这意味着 C# 中的所有内容都与对象和类(对象的蓝图)相关。 - -首先,我们在活动1中用来打印语句的代码行实际上是从一个预定义类`System`中调用的方法! - -```csharp -Console.WriteLine("Hello World"); -``` - -1. `Console`是一个处理用户输入输出的类。 -3. `WriteLine()`是类`Console`中定义的方法。 - -我们在之前的练习中也与`string`类交互过。`string`类定义了一组字符列表的行为规则。 - -通过以下代码,我们使用`string`类中定义的规则创建了一个`string`对象`name`: - -```csharp -string name = "Patrick"; -``` - -`Console`和`string`是C#中的预定义类。然而,我们不局限于这些预定义类,我们实际上可以通过编写一个类来创建我们自己的数据类型!这对于编程人员而言非常有用,可以创建具有特定属性和行为的对象。使用这些用户自定义类型可以构建不同的程序。 - -让我们了解关于类的不同部分: - -{{% notice note %}} -### 类 -类是新对象类型的蓝图或原型。一般来说,一个类包含三个重要部分: - - - -**元素** | **描述** | **例子** ----|---|--- -**数据字段/实例变量** | 描述对象的可访问变量 | 例如,一个Person类可以有eyeColor, age, height等字段。 -**构造方法** | 从该类创建对象时自动调用的方法,构造方法与类同名 | 每个类可以有多个构造方法 -**方法** | 对象执行某些任务的方法 | Person类可以有talk和walk方法。 - -例如: - -```csharp -public class Person{ - // (1) 数据字段/实例变量 - private String name; // 示例 - private int age; - private int height; - - // (2) 构造方法 - 构造方法与类同名 - public Person() - { - name = "Bea"; - age = 29; - height = 167; - } - - // (2) 构造方法 - 可以有多个 - public Person( String nameInput, int ageInput, int heightInput) - { - name = nameInput; - age = ageInput; - height = heightInput; - } - - // (3) 方法 - public void talk() - { - Console.WriteLine($"Hello from {name}"); - } -} -``` - -{{% /notice %}} - -## 试试看 🐥! - -让我们通过以下步骤制作一个`Bird`类来表示Patrick 🐥及其所有鸟类朋友! - - - -### 首先,我们以`public` `class` `name`的格式定义类名。 - -```csharp -public class Bird{} -``` - -(图像来自 National Geographic: giphy.com/natgeochannel)
- -正如我们之前学过的,我们可以如下打印这些语句: - -```C# -Console.WriteLine("早上好"); // 在 0:00 - 11:59 之间说 -Console.WriteLine("下午好"); // 在 12:00 - 19:59 之间说 -Console.WriteLine("晚上好"); // 在 20:00 - 23:59 之间说 -``` - -然而,我们也知道 Patrick 🐥 应该根据当前时间决定只说其中一句。 - -换句话说,我们需要编写代码来根据情况条件(有条件地)决定打印什么。 - -在 C# 中,我们通过使用 **if 语句** 或 **if...else 语句** 来做出决定。请阅读以下笔记: - -{{% notice note %}} -### If 语句 - -``` -if(boolean expression){ - 要执行的动作 -} -``` - -**if 语句**遵循上述结构。只有在布尔表达式为 `true` 时,块中的操作(语句)才会被执行。否则,如果布尔表达式为 `false`,程序将跳至块后的语句。 -### If-Else 语句 - -``` -if(boolean expression){ - 执行动作 A -}else{ - 执行动作 B -} -``` - -**if-else 语句**遵循上述结构。如果布尔表达式为 `true`,程序将执行 `if` 块内的 `执行动作 A`。否则,程序仅在 `else` 块内执行 `执行动作 B`。 - -### 示例 - -```C# - bool likeMusic = true; - if(likeMusic == true) - { - Console.WriteLine("I like Music"); - } - else - { - Console.WriteLine("I don't like Music"); - } -``` - -上面的代码将打印语句 `I like Music`,因为布尔表达式 `likeMusic == true` 为真。 -{{% /notice %}} - -让我们重新审视上述问候示例,为 Patrick 决定是说“早上好”、“下午好”还是“晚上好”。 - -Patrick 应该在 0:00 - 11:59 之间说“早上好”,12:00 - 19:59 之间说“下午好”,晚上 20:00 - 23:59 之间说“晚上好”。 - -1. 我们有一个变量 `currentHour` 保存当前小时。 -2. 填写正确的 `boolean expression A` 和 `boolean expression B` 来完成程序。 -3. 通过将变量 `currentHour` 设置为 0 到 23 的数字来测试您的结果: - - - -## 再次重复:For 循环, While 循环 - -在数学课上,Patrick 🐥 的老师让班级解数学题目,他可能需要一些帮助。 - -老师让他们找到 **1, 2, 3, ...., 100 的总和**。这就是**1 + 2 + 3 + 4 ... + 99 + 100**是什么? - -虽然我们可以将其输入计算器,但这会花费一些时间。幸运的是,在 C# 中,您可以在 3 行内轻松计算这结果,方法是使用 **for 循环**或 **while 循环**。 - -{{% notice note %}} -**For 循环** 和 **While 循环** 是 C# 中的控制结构,允许您多次执行代码块。 - -### While 循环 - -``` -while(boolean expression){ - 要执行的动作 -} -``` - -`while` 块中的 `要执行的动作` 将在 `boolean expression` 为 `true` 时执行。 - -以下是打印 1 到 10 的示例: - -```C# -int number = 1; -while(number <= 10){ - \ No newline at end of file diff --git a/content/simplified-chinese/csharp-basics/methods.md b/content/simplified-chinese/csharp-basics/methods.md deleted file mode 100644 index fce20c13d..000000000 --- a/content/simplified-chinese/csharp-basics/methods.md +++ /dev/null @@ -1,103 +0,0 @@ -```markdown ---- -title: "方法" -description: "介绍C#中的方法。" -date: 2024-09-16T00:00:00Z -weight: 7 ---- - -## 什么是方法? - -到目前为止,我们已经学习了如何将数据存储在变量中,打印数据和句子,并通过`if`语句、`for`循环和`while`循环进行决策。 - -从上一次练习中,我们知道以下代码块可以计算从1到100的和: - -```C# -int total = 0; -int num = 1; -while(num <= 100){ - total = total + num; - num = num + 1; -} -Console.WriteLine("Sum: " + total); -``` - -但如果我们想计算从1到77的和呢?如何在不重新写整个代码块的情况下实现? - -我们希望在代码中创建一个 ✨ 魔法盒 ✨,无论我们想计算哪两个数字,它都能为我们进行计算! - - -在C#中,**方法**就像一个可以使用用户输入来执行特定任务的魔法盒。 - -方法有两个部分:签名和主体。 - -{{% notice note %}} -### 方法签名 - -要定义一个方法,我们首先需要写出它的方法签名。签名头有四个主要部分: - -``` -access_specifier return_type method_name(list_of_parameters) -``` - -**部分名称** | **描述** | **示例或可能选项** -----|----|---- -**访问控制符** | 提供对方法的访问级别 | `public` 表示任何人都可以使用此方法。`private` 表示只能在类内部调用(我们将在下一页学习类!)`protected` 表示可以由同类的对象调用。 -**返回类型** | 返回给调用函数的数据类型,技术上在C#中返回类型不是签名的一部分 | `string`或`int`,如果方法不返回任何内容则用`void`。 -**方法名称** | 方法的名称,用于调用它 | 选择一个基于方法功能的描述性名称。 -**参数列表** | 方法使用时必须提供的输入列表 | 可以有零个或多个参数,形式为 (`type` `input name`, `type` `input name`, ... )。无参数时使用()。 - -``` -// 一个示例,接受一个字符串作为参数,返回另一个字符串 -public string artist (string songName) -``` -**注意:** 参数的变量名不必与传入方法的数据变量名匹配。 - -### 方法主体 - -接下来,我们将与方法关联的代码块放在**方法主体**中,位于签名后的`{`和`}`之间。 - -要返回一些数据,我们使用关键字`return`,后跟一个变量名或要返回的值。 - -**注意:** 一旦`return`,方法中其后的内容不会执行。 - -这是一个定义方法的例子,它计算从`numA`到`numB`的总和: - -```c# -/* 方法名称: sumNum - * 输入/参数: 2个int类型的数字 - * 功能: 返回从numA到numB的和 - */ -public int sumNum(int numA, int numB){ - int total = 0; - int num = numA; // 我们访问第一个输入名为numA - while(num <= numB){ // 我们访问第二个输入名为numB - total = total + num; - num = num + 1; - } - return total; // 返回语句 -} -``` - -### 方法调用 - -最后,要在代码中执行方法,我们需要进行**方法调用**。我们写出方法名和相应的输入。 -例如: - -```C# -sumNum(1, 3); // 调用方法sumNum()的一行代码,返回值为6 -``` - -知道`sumNum(1, 3)`返回一个`int`类型的值从1到3的和,我们可以这样存储和打印该值: - -你可以这样调用此方法 -```c# - int sum = 0; - sum = sumNum(1, 3); - Console.WrlineLine(sum); // 输出6 -``` - -方法强大的原因之一是我们可以多次调用它: -```C# - int sum = 0; - sum = sum \ No newline at end of file diff --git a/content/simplified-chinese/csharp-basics/operators.md b/content/simplified-chinese/csharp-basics/operators.md deleted file mode 100644 index 134a8220a..000000000 --- a/content/simplified-chinese/csharp-basics/operators.md +++ /dev/null @@ -1,99 +0,0 @@ -```markdown ---- -title: "运算符" -description: "介绍运算符并在 C# 中对变量进行操作。" -date: 2024-09-16T00:00:00Z -weight: 5 ---- - -## 做数学:算术运算符 - -在上一个练习中,我们学习了变量以及如何为特定类型的变量赋值,例如: - -```C# -int age = 3; // 声明类型为 int,值为 3 的变量 age -age = 4; // 将 4 赋值给变量 age -``` - -查看上面的代码,本质上是给变量 `age` 加 1。 - -在 C# 中,我们可以使用 **算术运算符** 对变量直接进行数学运算:`+`、`-`、`*`、`/`、`%`。例如,我们可以使用加法运算符 `+` 将 1 加到 `age` 上: - -```c# -int age = 3; // 声明类型为 int,值为 3 的变量 age -age = age + 1;// age 加 1 -``` - -{{% notice note %}} -以下是 C# 中的算术运算符: - -**运算符** | **描述** | **示例** -------|------|-------- -`+` | 加法 | `1 + 1 = 2` -`-` | 减法 | `2 - 1 = 1` -`*` | 乘法 | `3 * 3 = 9` -`/` | 除法 | `9 / 3 = 3` -`%` | 模/余数 | `10 % 4 = 2` - -**注意**:如果除法的两个操作数都是整数,结果也将是整数。例如,`10 / 4` 返回 2,而不是 2.5,因为我们抛弃余数。如果任一操作数是 double,结果将是 double。 - -**注意**:使用模运算(`%`)获取除法运算的余数。 - -{{% /notice %}} - -{{% notice tip %}} -加号(`+`)运算符在字符串中用作连接运算符。例如: - -`String name = "Patric" + "k";` 等同于 `String name = "Patrick";` -{{% /notice %}} - -### 指导 -1. 使用下面的程序练习使用算术运算符。改变数字以查看答案。 - - - -## 比较:关系运算符 - -接下来,让我们学习如何使用 **关系运算符** 比较数字。 - -就像在数学中一样,我们可以使用 `>`、`<`、`>=`、`<=` 来比较数字。例如:`(3 > 2)` 是 `true`,一个布尔值。 - -{{% notice note %}} -以下是 C# 中的关系运算符: - -**运算符** | **描述** | **示例** -------| ------| ------ -`==` | 等于 | `(3 == 3)` 是 `true` -`!=` | 不等于 | `(3 != 3)` 是 `false` -`>` | 大于 | `(3 > 2)` 是 `true` -`<` | 小于 | `(3 < 2)` 是 `false` -`>=` | 大于或等于 | `(3 >= 2)` 是 `true` -`<=` | 小于或等于 | `(2 <= 2)` 是 `true` - -注意:`==` 和 `!=` 只能用于相同类型的数据。例如: -```csharp -int x=3; -double y=3.0; -x==y; // 因为 x 和 y 是不同的类型,所以会产生错误。 -``` - -{{% /notice %}} - -{{% notice tip %}} -使用 1 个等号为变量赋值。使用 2 个等号比较两个元素的值。 - -```csharp -age = 3; // 将值 3 赋给 age -age == 3; // 检查 age 的值是否为 3 -``` -{{% /notice %}} - -### 比较练习 - -1. 使用下面的程序练习使用比较运算符。改变数字以查看答案。 - - - -## 考试统计! - -Patrick 🐥 和他的 4 位同 \ No newline at end of file diff --git a/content/simplified-chinese/csharp-basics/using-netfiddle.md b/content/simplified-chinese/csharp-basics/using-netfiddle.md deleted file mode 100644 index 05cda3d48..000000000 --- a/content/simplified-chinese/csharp-basics/using-netfiddle.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "使用 .NET Fiddle" -date: 2024-09-17T00:00:00Z -weight: 1 -draft: false ---- - -### 使用 .NET Fiddle -今天你将使用 .NET Fiddle 学习如何用 C# 编程。 - -在我们开始之前,首先了解一下窗口的工作方式。左侧有一个选项列表。这些选项都已为您设置好,因此无需担心。屏幕中央包含代码,即计算机要运行的指令。通过按下 **运行** 按钮(框顶部中间的三角形按钮),您可以指示计算机执行代码中的指令。运行代码的结果将显示在屏幕底部。 - - - -花点时间熟悉一下下面的工具。 - - - -### C# 的一些提示 - -几个重要提示: -1. 每行代码以分号 `;` 结尾。 -2. 示例中会有你不理解的代码。没关系,现在可以忽略,专注于你正在做的任务。 - -## 保存你的工作 - -如果您想在这些练习中保存工作,您需要注册一个 .NET Fiddle 账户,如果您还没有的话。 - -点击下面的按钮注册 .NET Fiddle 账户 —— 您需要一个电子邮件账户来注册。如果您已经有一个 .NET Fiddle 账户,您可以使用下面的按钮登录。 - -注册 .NET Fiddle - - - -然后,您现在可以 *fork* Fiddle,这意味着制作程序的副本,以便我们可以对此进行更改和保存。点击顶部的 "Fork" 按钮。 - -Fork Fiddle 后,您将看到一个类似于下面的窗口: - - \ No newline at end of file diff --git a/content/simplified-chinese/csharp-basics/variables.md b/content/simplified-chinese/csharp-basics/variables.md deleted file mode 100644 index b6986f292..000000000 --- a/content/simplified-chinese/csharp-basics/variables.md +++ /dev/null @@ -1,79 +0,0 @@ -```markdown ---- -title: "变量和数据类型" -description: "介绍C#中的类型和变量。" -date: 2024-09-16T00:00:00Z -weight: 4 ---- - -## 变量:命名吧! - -在第一个练习中,我们学习了用`Console.WriteLine()`和`Console.Write()`打印不同的语句。 - -虽然打印一个数字或一个句子很不错,但我们还没有给它们赋予意义,如果我们想再次使用这个句子或数字,就必须重新输入。 - -在C#中,我们引入了一个**变量**的概念来存储数据。变量为一段数据分配一个名称。 - -例如,可以有一个名为`myName`的变量,赋值为`"Ann"`。另一个变量可能名为`age`,它被赋予数字`12`。 - -## 类型是什么! - -那么我们如何在C#中创建这些变量来存储数据呢? - -在学习如何创建变量之前,我们需要了解C#中的**数据类型**概念,简称为**类型**。在C#中,类型描述了存储的内容。如果你有一个数字变量,它只能包含数字,而不是句子或符号。每个变量都有自己的类型,控制它可以存储的数据种类。 - -例如,我们可以有一个名为`age`的变量来存储数字`12`。如果你试图将单词`"twelve"`存储在`age`中,它会产生错误,因为它只知道数字。 - -在C#中,要存储整数,使用类型`int`。我们用以下代码声明一个`int`类型的变量`age`,数据为`3`: - -``` -int age = 12; -``` - -一般来说,声明一个变量的格式为:`[数据类型] [变量名] = [数据];`。 -{{% notice note %}} -以下是C#中内置的重要数据类型: - -**类型** | **描述** | **示例** ---------|-----------|---------- -`int` | 整数 | `20`, `30`, `35` -`char` | 字符,如符号或单个字母 | `'A'`,`'b'`, `'('`, `']'` -`string` | 字符序列 | `"Hello"`, `"Bonjour"`, `"Hola"` -`bool` | 布尔值,仅为`true`或`false` | `true`, `false` -`double` | 小数 | `2.0`, `3.14`, `9.33` - -{{% /notice %}} - -在我们之前的例子中,要在C#中声明这些变量,我们输入如下: - -```C# -string name = "Ann"; -int age = 12; -boolean loveMusic = true; -``` - -最后一个变量很有趣。它的值只能是`true`或`false`。我们将在本研讨会的更高级部分看到这非常有用。 - -## 操作变量 - -让我们看看变量可以做些什么。 - -在下面的.NET Fiddle框架中,fork这个Fiddle并尝试输入以下代码并**运行**: - -```C# -int age = 10; -Console.WriteLine(age); // 输出10 -age = 12; // 将数据12分配给变量age -Console.WriteLine(age); // 输出12 -``` - -我们可以给变量赋值,引用它,然后改变它的值。 - - - -## 类型是什么--帮助Patrick! - -Patrick 🐥不是数据类型大师!他在声明变量时经常混淆。让我们在下面的.NET Fiddle中帮助他修正错误。 - - -``` \ No newline at end of file diff --git a/content/simplified-chinese/csharp-basics/write-to-console.md b/content/simplified-chinese/csharp-basics/write-to-console.md deleted file mode 100644 index 158035f51..000000000 --- a/content/simplified-chinese/csharp-basics/write-to-console.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Write to the Console" -description: "介绍 C# 中的打印方法。" -date: 2024-09-16T00:00:00Z -weight: 2 ---- - -## 你的第一个 C# 程序 - -我们的第一个练习是熟悉简单 C# 应用程序的结构,该程序可在控制台输出内容。 - -让我们运行一个 C# 程序,将 `Hello World` 打印到控制台上。代码行 `Console.WriteLine ("Hello World");` 为我们完成了这项工作。它告诉计算机将 () 中的内容写到屏幕上。 - -### 让我们写些代码! - - - -在上面的 .NET Fiddle 框中,添加一行代码在第一行下面打印 "Hello *你的名字*"。看起来应该像这样。 - - - -你应该能在屏幕底部看到输出。很酷吧? - -让我们尝试打印其他内容。添加一些代码行以: -1. 通过将数字放在括号中来打印数字(例如 `Console.WriteLine(42);`)。不需要双引号。 -2. 将一些文本拼接在一起(例如 `Console.WriteLine("Hi " + "Sally");`) - -{{% notice tip %}} -### 你注意到你输入的所有语句都打印在不同的行上了吗? - -有时我们希望在同一行上输出。我们使用略微不同的代码 `Console.Write` 而不是 `Console.WriteLine`。 - -添加两行代码: -```csharp -Console.Write("I like to eat "); -Console.Write("apples."); -``` - -试试看。 -{{% /notice %}} - -{{% notice warning %}} -### !! 重要 !! 有时你不能直接将字符放在 " " 中 - -在打印语句中将字符放在 `" "` 中时,有时容易让计算机混淆要打印哪些字符。 - -例如,我们如何告诉计算机打印 `"`? - -如果你输入 `Console.WriteLine(""");`,会出现错误,因为计算机无法识别文本结束的位置! - -相反,某些字符需要通过在前面加一个 `\` 来转义。 - -```csharp -Console.Writeline("\""); // 这会打印出 " -``` -{{% /notice %}} \ No newline at end of file diff --git a/content/traditional-chinese/csharp-basics/classes-and-objects.md b/content/traditional-chinese/csharp-basics/classes-and-objects.md deleted file mode 100644 index f471144ce..000000000 --- a/content/traditional-chinese/csharp-basics/classes-and-objects.md +++ /dev/null @@ -1,86 +0,0 @@ -```markdown ---- -title: "Classes and Objects" -description: "Introduce classes and objects in C#." -date: 2024-09-16T00:00:00Z -weight: 8 ---- - -## 什麼是物件及類別? - -物件是一種具有特定特徵並能執行某些任務的東西(名詞)。類別則是在創建物件時的藍圖或定義。 - -例如,一個人就是一種類別。人擁有某些特徵,可以與另一個人區別開來。例如,它可能有藍色的眼睛,可能是15歲等。人也可以執行某些任務,例如行走和交談。 - -C# 中的物件是 C# 類別的一個實例。在這個例子中,“Bea” 是一個“人”。“Bea” 有褐色的眼睛,這是一個屬性(或資料欄位)。“Bea” 可以說英語,也會西班牙語,這些是“Bea” 可以執行的方法。 - -## 創建類別! - -C# 是一種**面向物件**的程式語言,這意味著 C# 中的所有東西都與**物件**和**類別**(物件的藍圖)相關。 - -首先,我們從活動1中用來打印語句的代碼行實際上是一個從名為 `System` 的預定義類別調用的方法! - -```csharp -Console.WriteLine("Hello World"); -``` - -1. `Console` 是處理用戶輸入和輸出的類別。 -3. `WriteLine()` 是在 `Console` 類別中定義的方法。 - -在前面的練習中,我們互動過的另一個內建類別是 `string`。`string` 類別定義了字元列表應如何運行的一組規則。 - -使用以下代碼行,我們創建了一個名為 `name` 的 `string` 物件,使用 `string` 類別中定義的規則: - -```csharp -string name = "Patrick"; -``` - -`Console` 和 `string` 是 C# 中的預定義類別。不過,我們不限於這些預定義類別,我們實際上可以通過編寫類別來創建自己的資料類型!這對於開發人員創建具有特定屬性和行為的物件非常有用。訪問這些用戶定義的類型可以讓我們構建獨特的程式。 - -讓我們學習下一個類別中的不同部分: - -{{% notice note %}} -### 類別 -類別是新型物件的藍圖或原型。一般來說,類別包含三個重要部分: - - - -**元素** | **描述** | **示例** ----|---|--- -**資料欄位/實例變數** | 描述該物件的變數 | 例如,一個人類別可以有眼睛顏色、年齡、身高等欄位。 -**構造函數** | 該類別中創建物件時自動調用的方法,構造函數與類別同名 | 每個類別可以有多個構造函數 -**方法** | 該類別中物件可以執行的任務 | 人類別可以有談話和行走的方法。 - -例如: - -```csharp -public class Person{ - // (1) 資料欄位/實例變數 - private String name; // 範例 - private int age; - private int height; - - // (2) 構造函數 - 構造函數與類別同名 - public Person() - { - name = "Bea"; - age = 29; - height = 167; - } - - // (2) 構造函數 - 可以有多個構造函數 - public Person( String nameInput, int ageInput, int heightInput) - { - name = nameInput; - age = ageInput; - height = heightInput; - } - - // (3) 方法 - public void talk() - { - Console.WriteLine($"Hello from {name}"); - } -} -``` -{{% / \ No newline at end of file diff --git a/content/traditional-chinese/csharp-basics/comments.md b/content/traditional-chinese/csharp-basics/comments.md deleted file mode 100644 index c79db2f5b..000000000 --- a/content/traditional-chinese/csharp-basics/comments.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -title: "Comments" -description: "Introduce comments in C#." -date: 2024-09-16T00:00:00Z -weight: 3 ---- - -## 添加註解 - -在創建 C# 程式時,我們可以使用 `//` 添加單行註解,或使用 `/*` 和 `*/` 添加多行註解(注意:之前活動中的指示是以註解形式撰寫的)。 - -此外,添加註解不會對程式有任何影響。因此,你可以在程式碼中添加註解,以便自己和其他程式員了解其工作原理。 - -```c# - // 範例單行註解 - - /* 範例 - * 多行 - * 註解 */ -``` - -## 玩轉註解 - -在下面的 .NET Fiddle 框架中,為你的程式添加一個單行註解和一個多行註解。 - - - -{{% notice tip %}} - -你可以註解你的程式碼,使計算機不會執行它。 - -```c# -Console.Write("I like to eat"); -// Console.Write("apples."); -``` - -將在控制台上顯示 "I like to eat",但不會顯示 "apples"。 -{{% /notice %}} - diff --git a/content/traditional-chinese/csharp-basics/control-structures.md b/content/traditional-chinese/csharp-basics/control-structures.md deleted file mode 100644 index 516f3604a..000000000 --- a/content/traditional-chinese/csharp-basics/control-structures.md +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: "控制結構" -description: "介紹 C# 中的 if-else、for 和 while 迴圈。" -date: 2024-09-16T00:00:00Z -weight: 6 ---- - -## 做出決定:If 語句 - -Patrick 🐥 是一隻非常有禮貌的鴨子,喜歡根據當前時間與每個遇到的人打招呼,說“早上好”、“下午好”或“晚安”。 - -![太陽快速升起在山上](https://media.giphy.com/media/hpWrLS1RDBd5pwkgjy/giphy.gif) -(圖片來源:National Geographic: giphy.com/natgeochannel)
- -如我們之前所學,我們可以如下打印這些語句: - -```C# -Console.WriteLine("Good Morning"); // 在 0:00 - 11:59 之間說 -Console.WriteLine("Good Afternoon"); // 在 12:00 - 19:59 之間說 -Console.WriteLine("Good Night"); // 在 20:00 - 23:59 之間說 -``` - -然而,我們也知道 Patrick 🐥 應該根據當前時間只選擇說其中的一句。 - -換句話說,我們需要編寫決定根據情況條件(有條件地)打印什麼的代碼。 - -在 C# 中,我們使用 **if 語句** 或 **if...else 語句** 來做出決定。請閱讀下面的說明: - -{{% notice note %}} -### If 語句 - -``` -if(boolean expression){ - Action(s) to Take -} -``` - -**If 語句** 遵循如上結構。只有當布林表達式為 `true` 時,塊中的動作(語句)才會執行。否則,如果布林表達式為 `false`,程式將跳過該塊後的語句。 - -### If-Else 語句 - -``` -if(boolean expression){ - Action(s) to Take A -}else{ - Action(s) to Take B -} -``` - -**If-Else 語句** 遵循如上結構。如果布林表達式為 `true`,程式將執行 `if` 塊內的 `Action(s) to Take A`。否則,程式僅執行 `else` 塊內的 `Action(s) to Take B`。 - -### 範例 - -```C# - bool likeMusic = true; - if(likeMusic == true) - { - Console.WriteLine("I like Music"); - } - else - { - Console.WriteLine("I don't like Music"); - } -``` - -上面的代碼將打印語句 `I like Music`,因為布林表達式 `likeMusic == true` 為 true。 -{{% /notice %}} - -讓我們回顧上面的問候範例,並為 Patrick 做出決定是說“早上好”、“下午好”或“晚安”。 - -Patrick 應該在 0:00 - 11:59 之間說“早上好”,在 12:00 - 19:59 之間說“下午好”,在 20:00 - 23:59 之間說“晚安”。 - -1. 我們有一個變數 `currentHour` 存儲當前小時。 -2. 填寫正確的 `boolean expression A` 和 `boolean expression B` 以完成程式。 -3. 通過將變數 `currentHour` 設為 0 到 23 之間的數字來測試您的結果: - - - -## 再次重複:For 迴圈、While 迴圈 - -在數學課上,Patrick 🐥 的老師要求班級解決一個數學挑戰,他可能需要一些幫助。 - -老師要求他們找出 **1, 2, 3, ..., 100** 的總和。這就是 **1 + 2 + 3 + 4 ... + 99 + 100** 是多少? - -雖然我們可以將其輸入計算器,但這需要一段時間。幸運的是,在 C# 中,您可以使用 **for 迴圈** 或 \ No newline at end of file diff --git a/content/traditional-chinese/csharp-basics/methods.md b/content/traditional-chinese/csharp-basics/methods.md deleted file mode 100644 index 43364cbee..000000000 --- a/content/traditional-chinese/csharp-basics/methods.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: "Methods" -description: "Introduce methods in C#." -date: 2024-09-16T00:00:00Z -weight: 7 ---- - -## 什麼是方法? - -到目前為止,我們學習了如何將數據存儲在變數中、打印數據和句子,以及使用 `if` 條件語句、`for` 迴圈和 `while` 迴圈進行決策。 - -在最後的練習中,我們知道以下代碼塊計算從 1 到 100 的總和: - -```C# -int total = 0; -int num = 1; -while(num <= 100){ - total = total + num; - num = num + 1; -} -Console.WriteLine("Sum: " + total); -``` - -但如果我們想計算從 1 到 77 的總和呢?怎麼才能不重寫整個代碼塊呢? - -我們希望創建一個代碼中的 ✨ 魔法盒 ✨ ,無論我們想計算哪兩個數字的總和,它都可以為我們進行計算! - - -在 C# 中,**方法** 就像一個魔法盒,通過運行一段可以使用用戶輸入的代碼來執行特定任務。 - -方法有兩個部分:簽名和主體: - -{{% notice note %}} -### 方法簽名 - -定義方法時,我們首先需要寫出其 方法簽名。簽名標題有四個主要部分: - -``` -access_specifier return_type method_name(list_of_parameters) -``` - -**部分名稱** | **描述** | **範例或可能的選項** -----|----|---- -**訪問說明符** | 提供對方法的訪問級別 | `public` 表示任何人都可以使用此方法。`private` 表示只能在類內調用此方法。(我們將在下一頁學習類!)`protected` 表示可以被相同類的對象調用。 -**返回類型** | 返回給調用函數的數據類型,從技術上講,返回類型在 C# 中不是簽名的一部分 | `string` 或 `int`,如果方法不返回任何內容則使用 `void`。 -**方法名稱** | 方法的名稱,用於調用 | 根據方法的功能選擇的描述性名稱。 -**參數列表** | 使用方法時必須提供的輸入列表 | 可以有零個或多個參數,格式為 (`type` `input name`, `type` `input name`, ... )。不帶參數時使用 ()。 - -``` -// 一個將字串作為參數並返回另一個字串的範例 -public string artist (string songName) -``` -**注意:** 參數的變數名稱無需與傳遞進方法的數據變數名稱匹配。 - -### 方法主體 - -接下來,我們將與方法相關的代碼塊放入 **方法主體** 中,位於方法簽名後的 `{` 和 `}` 之間。 - -要返回一些數據,我們在要返回的變數名稱或值前加上關鍵字 `return`。 - -**注意:** 一旦 `return`,方法中的其餘部分將不會運行。 - -這是如何定義一個方法以計算從 `numA` 到 `numB` 的數字總和的範例: - -```c# -/* 方法名稱:sumNum - * 輸入/參數:2 個整數型數字 - * 功能:返回從 numA 到 numB 的總和 - */ -public int sumNum(int numA, int numB){ - int total = 0; - int num = numA; // 我們使用名稱 numA 訪問第一個輸入 - while(num <= numB){ // 我們使用名稱 numB 訪問第一個輸入 - total = total + num; - num = num + 1; - } - return total; // 返回語句 -} -``` - -### 方法調用 - -最後,要在代碼中執行方法,我們需要進行 **方法調用**。我們寫出方法 \ No newline at end of file diff --git a/content/traditional-chinese/csharp-basics/operators.md b/content/traditional-chinese/csharp-basics/operators.md deleted file mode 100644 index 3ae88554e..000000000 --- a/content/traditional-chinese/csharp-basics/operators.md +++ /dev/null @@ -1,88 +0,0 @@ -```markdown ---- -title: "Operators" -description: "介紹運算符並在 C# 中對變數進行操作。" -date: 2024-09-16T00:00:00Z -weight: 5 ---- - -## 來做數學運算: 算術運算符 - -在上一個練習中,我們學到了變數以及如何將值賦予特定類型的變數,例如: - -```C# -int age = 3; // 宣告整數類型的變數 age 並賦值 3 -age = 4; // 將 4 賦值給變數 age -``` - -從上面的代碼中可以看到,它本質上是為變數 `age` 增加了 1。 - -在 C# 中,我們可以直接使用**算術運算符**對變數進行數學運算:`+`, `-`, `*`, `/`, `%`。 -例如,我們可以使用加號運算符 `+` 對 `age` 增加 1: - -```c# -int age = 3; // 宣告整數類型的變數 age 並賦值 3 -age = age + 1;// age 增加 1 -``` - -{{% notice note %}} -以下是 C# 中的算術運算符: - -**運算符** | **說明** | **範例** -------|------|-------- -`+` | 加法 | `1 + 1 = 2` -`-` | 減法 | `2 - 1 = 1` -`*` | 乘法 | `3 * 3 = 9` -`/` | 除法 | `9 / 3 = 3` -`%` | 模數/餘數 | `10 % 4 = 2` - -**注意**:如果除法的兩個運算元都是整數,結果也將是整數。例如,`10 / 4` 返回 2,不是 2.5,因為我們丟掉了餘數。如果任一運算元是雙精度數,結果將是雙精度數。 - -**注意**:使用模數運算 (`%`) 可得出除法運算的餘數。 - -{{% /notice %}} - -{{% notice tip %}} -加號 (`+`) 運算符在字符串中用作連接運算符。例如: - -`String name = "Patric" + "k";` 與 `String name = "Patrick";` 相同。 -{{% /notice %}} - -### 指示 -1. 使用下面的程式練習使用算術運算符。改變數字以查看答案。 - - - -## 比較運算: 關係運算符 - -接下來,讓我們學習如何使用**關係運算符**來比較數字。 - -就像數學一樣,我們可以使用 `>`, `<`, `>=`, `<=` 來比較數字。例如:(3 > 2)` 是 `true`,一個布林值。 - -{{% notice note %}} -以下是 C# 中的關係運算符: - -**運算符** | **說明** | **範例** -------| ------| ------ -`==` | 等於 | `(3 == 3)` 是 `true` -`!=` | 不等於 | `(3 != 3)` 是 `false` -`>` | 大於 | `(3 > 2)` 是 `true` -`<` | 小於 | `(3 < 2)` 是 `false` -`>=` | 大於或等於 | `(3 >= 2)` 是 `true` -`<=` | 小於或等於 | `(2 <= 2)` 是 `true` - -注意:`==` 和 `!=` 只能用於相同類型的數據。例如: -```csharp -int x=3; -double y=3.0; -x==y; // 這會產生錯誤,因為 x 和 y 類型不同。 -``` - -{{% /notice %}} - -{{% notice tip %}} -使用 1 個等號將值賦給變數。使用 2 個等號比較兩個元素的值。 - -```csharp -age = 3; // 將 age 的值設為 3 -age == 3; // 檢查 age 的值是否為 3 diff --git a/content/traditional-chinese/csharp-basics/using-netfiddle.md b/content/traditional-chinese/csharp-basics/using-netfiddle.md deleted file mode 100644 index 959eba8c0..000000000 --- a/content/traditional-chinese/csharp-basics/using-netfiddle.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -title: "使用 .NET Fiddle" -date: 2024-09-17T00:00:00Z -weight: 1 -draft: false ---- - -### 使用 .NET Fiddle - -今天你將使用 .NET Fiddle 學習如何用 C# 編碼。 - -在開始之前,讓我們先了解窗口的操作。左側有一系列的選項。這些選項已為你設置好,因此無需擔心。屏幕中間是程式碼,即讓電腦執行的指令。按下 **run** 按鈕(在框架頂部中間帶三角形的按鈕)時,你告訴電腦執行程式碼中的指令。程式碼執行結果將顯示在屏幕底部。 - - - -花點時間了解下面的工具。 - - - -### 關於 C# 的一些提示 - -一些重要提示: -1. 每行程式碼結尾都有一個分號 `;` -2. 範例中會有你不理解的程式碼。沒關係,暫時忽略,專注於你正在處理的任務。 - -## 儲存你的工作 - -如果你想在這些練習中儲存你的工作,你需要註冊一個 .NET Fiddle 帳號,如果你還沒有的話。 - -點擊下方按鈕註冊 .NET Fiddle 帳號——需要一個電子郵件賬戶來註冊。如果你已經有 .NET Fiddle 帳號,你也可以用下方按鈕登入。 - -註冊 .NET Fiddle - - - -接下來,你可以 *fork* Fiddle,這只是複製程式的意思,方便我們進行自己的更改並保存。點擊上方的「Fork」按鈕。 - -Fork Fiddle 後,你將會看到一個類似下圖的窗口: - - \ No newline at end of file diff --git a/content/traditional-chinese/csharp-basics/variables.md b/content/traditional-chinese/csharp-basics/variables.md deleted file mode 100644 index d29a18ec6..000000000 --- a/content/traditional-chinese/csharp-basics/variables.md +++ /dev/null @@ -1,75 +0,0 @@ ---- -title: "Variables and Data Types" -description: "Introduce types and variables in C#." -date: 2024-09-16T00:00:00Z -weight: 4 ---- - -## 變數:命名它! - -在第一個練習中,我們學習了使用 `Console.WriteLine()` 和 `Console.Write()` 打印不同的語句。 - -雖然直接打印數字或句子很棒,但我們還沒有賦予它們具體意義。如果想再次使用這些句子或數字,我們必須重新輸入一遍。 - -在 C# 中,我們引入了 **變數** 的概念作為數據存儲。一個變數存儲一段有名稱的數據。 - -例如,可以有一個名為 `myName` 的變數,它被賦值為 `"Ann"`。另一個變數可能被稱為 `age`,它被賦值為數字 `12`。 - -## 什麼是類型! - -那麼我們如何在 C# 中創建這些變數來存儲數據呢? - -在學習如何創建變數之前,我們需要了解 C# 中的 **數據類型** 概念,或簡稱 **類型**。類型描述了正在存儲的內容。如果你有一個數字變數,它只能包含數字,不能是句子或符號。每個變數都有自己的類型,控制它可以保存的數據種類。 - -例如,我們可以有一個名為 `age` 的變數,它存儲數字 `12`。如果你試圖將詞 `"twelve"` 存儲在 `age` 中,它會產生錯誤,因為它只認識數字。 - -在 C# 中,要讓變數存儲整數,使用 `int` 類型。我們用這行代碼聲明一個名為 `age` 的 `int` 變數,並賦值為 `12`: - -``` -int age = 12; -``` -一般來說,我們以以下格式聲明變數:`[數據類型] [變數名稱] = [數據];` -{{% notice note %}} -以下是 C# 中內建的重要數據類型: - -**類型** | **描述** | **例子** ---------|-----------|---------- -`int` | 整數 | `20`, `30`, `35` -`char` | 字符,如符號或單個字母 | `'A'`,`'b'`, `'('`, `']'` -`string` | `char` 序列 | `"Hello"`, `"Bonjour"`, `"Hola"` -`bool` | 布林值,值為 `true` 或 `false` | `true`, `false` -`double` | 小數 | `2.0`, `3.14`, `9.33` - -{{% /notice %}} - -使用我們之前的例子,要在 C# 中聲明這些變數,我們輸入以下代碼: - -```C# -string name = "Ann"; -int age = 12; -boolean loveMusic = true; -``` - -最後一個變數很有趣。它只能有 `true` 或 `false` 的值。我們會在本課程更高級的部分看到這很有幫助。 - -## 玩轉變數 - -讓我們看看可以怎樣玩轉變數。 - -在下面的 .NET Fiddle 框中,分叉 Fiddle 並嘗試輸入以下行然後 **運行**: - -```C# -int age = 10; -Console.WriteLine(age); // 印出 10 -age = 12; // 將數據 12 賦給變數 age -Console.WriteLine(age); // 印出 12 -``` -我們可以給變數賦值,引用它,然後改變值。 - - - -## 什麼是類型 —— 幫助派翠克! - -派翠克 🐥 並不擅長數據類型!他在聲明變數時經常搞混。我們來幫他在下面的 .NET Fiddle 中修正他的錯誤。 - - \ No newline at end of file diff --git a/content/traditional-chinese/csharp-basics/write-to-console.md b/content/traditional-chinese/csharp-basics/write-to-console.md deleted file mode 100644 index 19207ab62..000000000 --- a/content/traditional-chinese/csharp-basics/write-to-console.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Write to the Console" -description: "介紹 C# 的打印方法。" -date: 2024-09-16T00:00:00Z -weight: 2 ---- - -## 你的第一個 C# 程式 - -我們的第一個練習是熟悉一個簡單 C# 應用程式的結構,該程式將輸出內容到控制台。 - -讓我們嘗試運行一個 C# 程式,將 `Hello World` 打印到控制台。代碼行 `Console.WriteLine ("Hello World");` 為我們完成了這一操作。它告訴電腦將括號內的內容顯示到螢幕上。 - -### 讓我們寫點代碼吧! - - - -在上面的 .NET Fiddle 框中,新增一行代碼在第一行下面打印 "Hello *你的名字*"。它應該看起來像這樣。 - - - -你應該能在螢幕底部看到你的輸出。有趣吧? - -讓我們嘗試打印其他東西。新增一些額外的代碼行來: -1. 輸出數字,將數字放在括號中(例如:`Console.WriteLine(42);`)。不需要雙引號。 -2. 組合一些文字(例如:`Console.WriteLine("Hi " + "Sally");`) - -{{% notice tip %}} -### 你注意到了嗎?你輸入的所有語句都打印在不同的行上。 - -有時候我們希望在同一行上寫。我們使用稍微不同的代碼 `Console.Write` 代替 `Console.WriteLine`。 - -新增兩行代碼: -```csharp -Console.Write("I like to eat "); -Console.Write("apples."); -``` - -並試試看。 -{{% /notice %}} - -{{% notice warning %}} -### !! 重要 !! 有時你不能只是簡單地在 " " 之間放入字符 - -在打印語句的 " " 之間放入字符時,有時容易讓電腦混淆應該打印哪些字符。 - -例如,我們如何告訴電腦打印 `"`? - -如果你輸入 `Console.WriteLine(""");`,你會得到錯誤,因為電腦無法識別文本的結束位置! - -因此,某些字符需要通過在前面加上一個 `\` 來轉義。 - -```csharp -Console.Writeline("\"");` // 這會打印出 " -``` -{{% /notice %}}