Precedência no C#

Olá!!!

Essa é simples, mas acho interessante compartilhar… quem desenvolve em C# deve saber, ou pelo menos deveria, que todo tipo deriva de System.Object. Isso acarreta que todo tipo herda os métodos de System.Object, incluindo o famoso ToString().

E daí? E daí que caso você precise concatenar uma string com alguma variável, não importando o tipo, basta apenas concatenar utilizando o operador +, por exemplo:

DateTime nascimento = DateTime.Parse(“26/07/1980”);

string nome = “JP”;

int idade = 29;

Console.WriteLine(“Eu me chamo “+nome+” tenho “+idade+ ” pois nasci em ” +nascimento);

Até aí nada de muito interessante, entretanto vamos supor o seguinte caso:

int i = 10;

Console.WriteLine(“Qual o valor de ” + i + 5 + ” ?”);

Nesse caso será impresso na tela “Qual o valor de 105 ?”. Isto porque devido a precedência, o valor de i e de 5 são convertidos para string e só então são concatenados. Para obter o valor da soma de i e 5 basta utilizar parênteses:

Console.WriteLine(“Qual o valor de ” + (i + 5) + ” ?”);

Ou ainda o método Format da classe String:

Console.WriteLine(string.Format(“Qual o valor de {0} ?”, i + 5));

É isso aí! Para alguns pode ser algo trivial, mas para quem está começando espero que tenha utilidade.

Abraços e até a próxima!

Leave a comment