Exemplo do C#:
Exemplo do JavaScript:
valor padrão de cada um, caso nenhum valor seja declarado
a Microsoft criou a linguagem intermediaria para que todos as linguagens de programação tenha somente um compilador ao invés de vários.
conforme na imagem:
O .NET Standard consegue fazer a ligação de todos os frameworks juntos para serem trabalhos de forma simultânea
Versionamento seria a versão do programa que você utiliza ou que esta em desenvolvimento.
Definições:
- Podemos utilizar anotações com
- Alpha=> 0.0.1-al
- Beta=>-0.02-bl
- Release Candidate => 1.0.0-rcl
- Final=>1.0.0
- Normalmente alpha e beta tem versões menores que 1.0.0
Exemplo de constante:
Padrão:
a interrogação que transforma em null, e a IDE aceita quando colocar a interrogação
GetValueOeDefault = ele pega o valor padrao igual no exemplo a baixo, caso seja null ele vai mostrar zero.
HasValue = ele retorna em boolean true ou false, para saber se é ou não null
value = ele lança um exception caso não tenha valor (tipo um erro)
Resultado deste codigo acima:
0 10 False True X is null 10
as duas interrogações é se caso o x for null ai ele pega o valor do lado direito que seria 0.0
using System;
using System.Xml;
namespace Course {
class Program {
static void Main(string[] args) {
double? x = null;
double? y = 10;
double a = x ?? 5;
double b = y ?? 5;
Console.WriteLine(a);
Console.WriteLine(b);
}
}
}
RESULTADO:
5 10
esses são os tipos primitivos aceitos para cada um deles, na conversão.
ele so deixa realizar a conversao implicita, quando o byte do tipo primitivo ´´e maior que o solicitado, ex: double ´´e 8 bytes e float sendo 4 bytes, cabe perfeitamente no double.
//metodo de conversao implicita
float x = 4.5f;
double y = x;
agora mesmo se o desenvolvedor quiser colocar um tipo primitivo grande e incluir no pequeno ele consegue atraves do casting.
//metodo de casting
double a;
float b;
a = 5.1;
b = (float)a;
Console.WriteLine(b);
código tradicional: a=a+2;
código de atribuição: a+=2;
int x = O; // Atribuição
x += 5; // x = x + 5;
x -= 1; // x = x - 1;
x x= 10; // x = x * 10;
x /= 2; // x = x / 2;
Usando switch case:
int valor = 1;
switch (valor)
{
case 1: Console.WriteLine("1"); break;
case 2: Console.WriteLine("2"); break;
case 3: Console.WriteLine("3"); break;
default: Console.WriteLine("4"); break; // Se não for 1,2 ou 3
}
do while ex:
quando mexer com moedas a melhor forma de trabalhar com dinheiro em bancos ou outras instituicoes seria usar o tipo decimal conforme o exemplo abaixo, ele tem a melhor precisao, ele e um pouco mais lento que o double, mas as empresas pode perder milhoes caso o desenvolvedor troque para double, pois a precisao dele e muito menor que o decimal.
using System;
namespace Strings {
internal class Program {
static void Main(string[] args) {
decimal valor = 10.256516516516m;
Console.WriteLine(valor);
}
}
}
/*
FORMATADORES DE MOEDAS
decimal valor = 10.25m;
Console.WriteLine(valor.ToString(
"C",CultureInfo.CreateSpecificCulture("pt-BR"))); aqui podemos especificar para ele qual a formatacao ideal para cada cultura, com a letra "C" pedimos para que ele mostre o valor em dinheiro
RESULTADO => R$ 10,25
Console.WriteLine(valor.ToString(
"F", CultureInfo.CreateSpecificCulture("pt-BR"))); com a letra "F" pedimos para que ele mostre o valor em mais exato possivel RESULTADO => 10,25
Console.WriteLine(valor.ToString(
"P", CultureInfo.CreateSpecificCulture("pt-BR"))); mostra o resultado com porcentagem RESULTADO => 1.025,00%
MATH DE NUMERO
decimal valor = 10536.25m;
Console.WriteLine(
Math.Round(valor) ele arredonda o resultado RESULTADO => 10536
Math.Ceiling(valor) ele arredonda para mais RESULTADO => 10537
Math.Floor(valor) ele arredonda para menos RESULTADO => 10536
);
*/
using System;
using System.Globalization;
namespace Editor_de_texto {
internal class Program {
static void Main(string[] args) {
var arr = new int[3];
try { // tente rodar o for, se caso der algo de errado ele passa para o catch
//for (var index = 0; index < 10; index++) {
// Console.WriteLine(arr[index]); // gerou este erro System.IndexOutOfRangeException, pois estamos pedindo para ele percorrer 11 arrays, sendo que ele tem somente 4 arrays
//}
Cadastrar("");
} catch (IndexOutOfRangeException ex) { // fora de index gera esse erro
Console.WriteLine(ex.InnerException);
Console.WriteLine(ex.Message);
Console.WriteLine("não encontrei o indice na lista");
} catch (ArgumentNullException ex) { // aqui ele verifica se o parametro esta nulo, caso seja true ele mostra a mensagem de erro abaixo ()
Console.WriteLine(ex.InnerException); // exibi tambem uma mensagem de erro e visualize informacoes detalhadas sobre a raiz do problema
Console.WriteLine(ex.Message); // exibi a mensagem de erro na tela
Console.WriteLine("falha ao cadastrar texto");
} catch (MinhaException ex) {
Console.WriteLine(ex.InnerException);
Console.WriteLine(ex.Message);
Console.WriteLine(ex.QuantoAconteceu);
Console.WriteLine("exceção customizada");
} catch (Exception ex) { // imprima esssa informacao caso algo der errado (sempre tem essa ordem de try em primeiro e depois o catch) se gerar um erro desconhecido ou generico roda essa codição
Console.WriteLine(ex.InnerException); // exibi tambem uma mensagem de erro e visualize informacoes detalhadas sobre a raiz do problema
Console.WriteLine(ex.Message); // exibi a mensagem de erro na tela
Console.WriteLine("Ops algo deu errado!!");
}
}
static void Cadastrar(String texto) {
if (string.IsNullOrEmpty(texto))// se caso a string for nula ou vazia vai gerar erro
throw new MinhaException(DateTime.Now);
}
public class MinhaException : Exception { // foi feito uma classe em herança
public MinhaException(DateTime date) { // foi realizado aqui o metodo construtor
QuantoAconteceu = date; // é atribuido o valor do date para a propriedade "QuandoAconteceu"
}
public DateTime QuantoAconteceu { get; set; } /*isso é uma propriedade de um objeto, que utiliza a classe DateTime para trabalhar com datas e horários.*/
}
}
}
Comparação resolvendo com for e depois com o foreach.
namespace Course {
class Program {
static void Main(string[] args) {
double[,] mat = new double[9, 9];
Console.WriteLine(mat.Length); // quantos elementos a matrix tem no total
Console.WriteLine(mat.Rank); // quantidade total de linhas
Console.WriteLine(mat.GetLength(0)); // quantidade de linhas
Console.WriteLine(mat.GetLength(1));
}
}
}
para inicia uma matriz ex:
int n = int.parse(console.readLine())
int [,] mat = new int [n,n]