Primeiro programa
Primeiro programa
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("ola");
}
}
Deve ser identificado o compilador csc.exe no windows e colocado da seguuinte forma, dentro da pasta do seu arquivo .cs vc deve executar o seguinte comando
PS C:\Users\User\Desktop\C#ESTUDOS> C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe HELLO.cs
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Digite um valor");
Console.ReadLine();
Console.WriteLine("ronaldo");
string primeira_frase = @"cursos
-python
-c";
Console.WriteLine(primeira_frase);
// tem que usar aspas simples 16bits
char letra = 'a';
Console.WriteLine(letra);
// tamanho da var int eh de 32bits
int idade;
idade = 27;
idade = 5 * 2 ;
Console.WriteLine(idade);
// variavel de 64bits
long variavelintlonga;
variavelintlonga = 2000000000000000000;
Console.WriteLine(variavelintlonga);
short y;
y = 10;
Console.WriteLine(y);
float variavel1 = 100000.0f;
Console.WriteLine(variavel1);
double salario;
salario = 500.50;
Console.WriteLine(salario);
// Converter variavel
int salariointeiro;
salariointeiro = (int)salario;
Console.WriteLine(salariointeiro);
Console.ReadLine();
}
}
bool 1 byte true e false
byte 1 byte 0 a 255
sbyte 1 byte -128 a 127
short 2 bytes -32768 a 32767
ushort 2 bytes 0 a 65535
int 4 bytes -2147483648 a 2147483647
uint 4 bytes 0 a 4294967295
long 8 bytes -9223372036854775808L a 9223372036854775807L
ulong 8 bytes 0 a 18446744073709551615
float 4 bytes Números até 10 elevado a 38. Exemplo: 10.0f, 12.5f
double 8 bytes Números até 10 elevado a 308. Exemplo: 10.0, 12.33
decimal 16 bytes Números com até 28 casas decimais. Exemplo: 10.991m, 33.333m
char 2 bytes Caracteres delimitados por aspas simples. Exemplo: 'a', 'ç'. 'o'
Tipo Tamanho
boolean 1 byte
byte 1 byte
short 2 bytes
char 2 bytes
int 4 bytes
float 4 bytes
long 8 bytes
double 8 bytes
using System;
class Condicoes
{
static void Main(string[] args)
{
// o || significa or
// o && significa e
int Idade = 10;
if (Idade <= 5 || Idade == 9) {
Console.WriteLine("Menor de 5");
}
else{
Console.WriteLine("Maior que 5");
}
Console.Read();
}
}
using System;
class Programa
{
static void Main(String[] args)
{
Console.WriteLine("testando condicionais");
int idade = 16;
bool acompanhado = true;
if (idade >=18 && acompanhado)
{
Console.WriteLine("Seja bem vindo");
}
else
{
Console.WriteLine("infelizmente voce nao pode entrar");
}
}
}
using System;
class Programa
{
static void Main(String[] args)
{
int var = 10;
if (var <= 10){
string mensagem = "maior ou igual a 10 ";
}
else{
string mensagem = "menor que 10 ";
}
Console.WriteLine(mensagem);
}
}
O c# tem escopo portanto dessa forma acima esta errado a variavel string só funciona dentro do bloco do if e else, nesse caso para resolver temos que declarar a variavel fora do escopo
using System;
class Programa
{
static void Main(String[] args)
{
int var = 10;
string mensagem;
if (var <= 10){
mensagem = "maior ou igual a 10 ";
}
else{
mensagem = "menor que 10 ";
}
Console.WriteLine(mensagem);
}
}
using System;
class Programa
{
static void Main(String[] args)
{
int mes = 13;
switch (mes)
{
case 1:
Console.WriteLine("O mês é Janeiro");
break;
case 2:
Console.WriteLine("O mês é Fevereiro");
break;
case 3:
Console.WriteLine("O mês é Março");
break;
case 4:
Console.WriteLine("O mês é Abril");
break;
case 5:
Console.WriteLine("O mês é Maio");
break;
case 6:
Console.WriteLine("O mês é Junho");
break;
case 7:
Console.WriteLine("O mês é Julho");
break;
case 8:
Console.WriteLine("O mês é Agosto");
break;
case 9:
Console.WriteLine("O mês é Setembro");
break;
case 10:
Console.WriteLine("O mês é Outubro");
break;
case 11:
Console.WriteLine("O mês é Novembro");
break;
case 12:
Console.WriteLine("O mês é Dezembro");
break;
default:
Console.WriteLine("Mês inválido");
break;
}
Console.ReadLine();
}
}
using System;
class Programa
{
static void Main(String[] args)
{
int mes = 1 ;
while(mes <=12){
Console.Write("teste " + mes);
mes++ ;
}
}
}
using System;
class Programa
{
static void Main(String[] args)
{
for(int mes=1 ; mes <= 10; mes++ ){
Console.WriteLine("a-----------------------------a " + mes);
}
}
}
using System;
namespace CSharpCollections
{
class Program
{
static void Main(string[] args)
{
// string aulaIntro = "Introdução às Coleções";
// string aulaModelando = "Modelando a Classe Aula";
// string aulaSets = "Trabalhando com Conjuntos";
// string[] aulas = new string[]
// {
// aulaIntro,
// aulaModelando,
// aulaSets
// };
string[] aulas = new string[3];
aulas[0] = "aula1";
aulas[1] = "aula3";
aulas[2] = "aula2";
Console.WriteLine("EXEMPLO SEM ITERAR SOBRE O ARRAY " + aulas);
foreach (string aula in aulas)
{
Console.WriteLine(aula);
}
}
}
}
PS C:\Users\User\Desktop\C#ESTUDOS\ARRAYS> .\arrays.exe
EXEMPLO SEM ITERAR SOBRE O ARRAY System.String[]
aula1
aula3
aula2
PS C:\Users\User\Desktop\C#ESTUDOS\ARRAYS>
Outra forma de umprimir o array, no vscode tem um atalho ctl + . para extrair um metodo ai vc chama ele como se fosse uma funcção, o que é verdade pq um metodo e uma funcções dentro e uma classe :)
using System;
namespace CSharpCollections
{
class Program
{
static void Main(string[] args)
{
// string aulaIntro = "Introdução às Coleções";
// string aulaModelando = "Modelando a Classe Aula";
// string aulaSets = "Trabalhando com Conjuntos";
// string[] aulas = new string[]
// {
// aulaIntro,
// aulaModelando,
// aulaSets
// };
string[] aulas = new string[3];
aulas[0] = "aula1";
aulas[1] = "aula3";
aulas[2] = "aula2";
Console.WriteLine("EXEMPLO SEM ITERAR SOBRE O ARRAY " + aulas);
Imprimir(aulas);
}
private static void Imprimir (string[] aulas)
{
foreach (string aula in aulas)
{
Console.WriteLine(aula);
}
}
}
}
// };
string[] aulas = new string[3];
aulas[0] = "aula1";
aulas[1] = "aula3";
aulas[2] = "aula2";
Console.WriteLine("EXEMPLO SEM ITERAR SOBRE O ARRAY " + aulas);
Imprimir(aulas);
// procurar a posicao dentro do Array o primeiro argumento é o array e o segundo é o valor
Console.WriteLine(Array.IndexOf(aulas, "aula2" ));
}
retorno é 1
string[] aulas = new string[3];
aulas[0] = "aula1";
aulas[1] = "aula3";
aulas[2] = "aula2";
Console.WriteLine("EXEMPLO SEM ITERAR SOBRE O ARRAY " + aulas);
Imprimir(aulas);
// procurar a posicao dentro do Array
Console.WriteLine(Array.IndexOf(aulas, "aula2" ));
Array.Reverse(aulas);
Imprimir(aulas);
resultado
aula2
aula3
aula1
array.reside(ref aulas, 2 )
modifica o tamanho do array
// adicionar valor no final do array
aulas[aulas.Length - 1] = "RONALDO";
Imprimir(aulas);
Array.Sort(aulas);
Console.WriteLine("reordenando array");
Imprimir(aulas);
string[] copia = new string[2];
// origem , indice que começa a copia , destino, indice que cola a copia e o numero de valores a serem copiados
Array.Copy(aulas, 0 , copia , 0 , 2);
Imprimir(copia);
// clonar
string[] clone = aulas.Clone() as string[];
Imprimir(clone);
// limpar
Array.Clear(copia, 0 , 2 );
Console.WriteLine("depois de aplicar o clear");
Imprimir(copia);
LISTAS
using System;
using System.Collections.Generic;
class LISTAS
{
static void Main(string[] args)
{
//forma 1 de criar lista com tamanho fixo
// List<string> aulas = new List<string>
// {
// "Introduction to Programming",
// "Data Structures and Algorithms",
// "Object-Oriented Programming"
// };
// Imprimir(aulas);
// forma 2 com tamanho variavel
List<string> aulas = new List<string>();
// adiciona valor dentro da lista
aulas.Add("primeira aula");
aulas.Add("segunda aula");
Imprimir(aulas);
Console.WriteLine(aulas.First());
Console.WriteLine(aulas.Last());
}
private static void Imprimir(List<string> aulas)
{
foreach (var aula in aulas){
Console.WriteLine(aula);
}
// outras formas de listar o condeudo de uma lista
aulas.ForEach(aula => {
Console.WriteLine(aula);
});
}
}
CLASSES
using System;
public class Aula
{
public string Nome { get; set; }
public TimeSpan Duracao { get; set; }
}
/// aqui se cria a lista e define o get e o setter
public class Carro
{
public string Nome { get; set; }
public string Modelo { get; set; }
}
public class Program
{
static void Main(string[] args)
{
Aula aula = new Aula();
aula.Nome = "Matemática";
aula.Duracao = TimeSpan.FromHours(1.5);
Console.WriteLine("Aula: " + aula.Nome);
Console.WriteLine("Duração: " + aula.Duracao.ToString(@"hh\:mm"));
Carro auto = new Carro();
auto.Nome = "fuque";
auto.Modelo = "fusca";
Console.WriteLine(auto.Nome + auto.Modelo);
}
}