Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Compilação valor++

Estava fazendo o exercício e testei uma mudança no código na parte de incrementar a variável char valor. Se eu fizer valor = valor + 1 o código não compila e preciso fazer o Casting valor = (char)(valor + 1), porém quando fiz a mudança da linha para valor++ o mesmo compila normalmente e o resultado é o mesmo. Alguém poderia me dizer o por que isso acontece?

1 resposta
solução!

Fabiano,

Eu não achei uma documentação confirmando, mas eu acredito que o operador unário (++) já faça uma conversão implícita dentro dele mesmo, diferente do operador matemático comum (+).

Agora experimente assim:

static void Main()
{
    char valor;

    valor = 'a';
    valor = (char)(valor + 1);
    valor++;

    Console.WriteLine("Valor: " + valor);
    Console.ReadLine();
}

E segue a tabela ASCII...

Abaixo alguns links para o seu deleite:

==========================================================

Operadores aritméticos unários

Artigo - 08/08/2022 - 2 minutos para o fim da leitura

https://docs.microsoft.com/pt-br/cpp/c-language/unary-arithmetic-operators?view=msvc-170

==========================================================

C# Type Casting

Type casting is when you assign a value of one data type to another type.

In C#, there are two types of casting:

Implicit Casting (automatically) - converting a smaller type to a larger type size

char -> int -> long -> float -> double

Explicit Casting (manually) - converting a larger type to a smaller size type

double -> float -> long -> int -> char

https://www.w3schools.com/cs/cs_type_casting.php

==========================================================

Incrementation of char

I found some question asking how to let char 'B' to return 'C' and then 'D' etc. The answers were quite complex and mostly just overkill.

Why not to use simply this:

char X='A';
X++

EDIT: It goes from A to Z and what next?

https://stackoverflow.com/questions/4583191/incrementation-of-char

==========================================================

De onde vem?

O nome ASCII vem do inglês American Standard Code for Information Interchange ou ”Código Padrão Americano para o Intercâmbio de Informação”. Ele é baseado no alfabeto romano e sua função é padronizar a forma como os computadores representam letras, números, acentos, sinais diversos e alguns códigos de controle.

https://www.techtudo.com.br/noticias/2015/02/o-que-e-o-codigo-ascii-e-para-que-serve-descubra.ghtml

==========================================================

Que legal! Bem pensado! Eu não sabia e nenhum tinha pensado nisto! KKKKK! Valew!!!

[]'s,

Fabio I.