Tags: , , | Categories: C#, Linguagem de Programação Posted by Rafael on 12/10/2010 21:37 | Comentários (0)

Dando seqüência à série Operadores C#, vamos falar sobre os operadores de incremento (++) e decremento (--) de variáveis.

Operadores de incremento e decremento de variáveis

O conceito de operadores de incremento e decremento é muito simples. Basicamente, utilizamos o operador de incremento para simplificar a expressão “variável = variável + 1”, ou então o operador de decremento para simplificar a expressão “variável = variável - 1”. O trecho de código abaixo ilustra a sintaxe dos operadores:

    int x = 0;



    // incrementando a variável x

    x = x + 1;



    // incrementando a variável x, utilizando o operador de incremento

    x++;



    // decrementando a variável x

    x = x - 1;



    // decrementando a variável x, utilizando o operador de decremento

    x--;

 

Muito simples e fácil de entender. Agora, consideremos o seguinte trecho de código:

    class Program

    {

        static void Main(string[] args)

        {

            int x = 0;

            int y = 0;

            Console.WriteLine("1º loop:");

            for (int i = 0; i < 5; i++)

            {

                if (x++ == 2)

                {

                    Console.WriteLine("Entrou no if da variável x++");

                }

                if (++y == 2)

                {

                    Console.WriteLine("Entrou no if da variável ++y");

                }

            }

            Console.WriteLine();

            x = 5;

            y = 5;

            Console.WriteLine("2º loop:");

            for (int i = 0; i < 5; i++)

            {

                if (x-- == 2)

                {

                    Console.WriteLine("Entrou no if da variável x--");

                }

                if (--y == 2)

                {

                    Console.WriteLine("Entrou no if da variável --y");

                }

            }

            Console.ReadKey();

        }

    }

 

Vemos que no primeiro loop, as variáveis x e y são incrementadas, porém de maneiras diferentes. A variável x é incrementada após a execução da instrução if (x++ == 2), e a variável y é incrementa antes da execução da instrução if (++y == 2). O mesmo acontece no segundo loop, só que, ao invés das variáveis serem incrementadas, elas são decrementadas. No código acima, utilizamos as mesmas condições dos ifs para demonstrar que as variáveis com operador à esquerda são incrementadas ou decrementadas antes da execução da instrução, e as variáveis com operador à direita são incrementadas ou decrementadas após a execução da instrução. Ao executarmos o código, temos a seguinte saída:

Muito simples e fácil. Espero ter ajudado!

Até a próxima!

Tags: , , | Categories: C#, Linguagem de Programação Posted by Rafael on 10/10/2010 08:02 | Comentários (0)

Apesar de parecer um assunto para iniciantes na linguagem, me surpreendi um dia, junto com um colega de trabalho, descobrindo alguns operadores da linguagem C#, que eu nunca havia utilizado antes. Então, mesmo que você já domine a linguagem C#, de alguma forma, esse post pode ser útil.

Com esse post, inicio uma série de posts sobre operadores C#. Nesse primeiro, vamos falar sobre os operadores lágicos & (and) e | (or) e seus respectivos condicionais && e ||.

Diferença entre os operadores "& e &&" e/ou "| e ||"

Consideremos o seguinte trecho de código:

    class Program

    {

        static void Main(string[] args)

        {

            int x = 0;

            for (int i = 0; i < 10; i++)

            {

                if (false & ++x == 2)

                {

                    // ...

                }

            }

        }

    }

Se inserirmos um breakpoint no código e o debugarmos, veremos que a variável x é incrementada (o incremento de variáveis será abordado no próximo post), mesmo se a condição não for verdadeira:

Porém, se substituirmos o operador & pelo &&, o código ficará assim, e notaremos que a variável x não é alterada.

O mesmo comportamento se repete para os operadores | e ||:

Com o operador |

Agora, substituindo o operador | pelo ||

Com isso, concluímos que quando utilizamos os operadores & e |, todas as partes da condição são verificadas. Notamos isso pois a variável x é incrementada. Porém, quando utilizamos os operadores && e ||, a variável não é incrementada. Isso ocorre porque a verificação é executada da esquerda para a direita, por exemplo, if ( 1ª verificação && 2ª verificação && 3ª verificação ), e, caso a primeira parte (ou segunda parte) da condição seja válida (entenda como condição válida a condição verdadeira para entrada ou não do if), as demais não são verificadas, como observamos nos exemplos acima, ou seja, não é necessária a validação completa da condição.

Bom, é isso.

Espero que tenham gostado.

Até a próxima!

Tags: , | Categories: Pessoal Posted by Rafael on 10/10/2010 07:57 | Comentários (5)

Olá pessoal!

Como primeiro post, eu gostaria de dizer, em poucas palavras, um pouco sobre o que me levou a criar esse blog.

Praticamente todos os dias, nós que trabalhamos com TI, resolvemos problemas, criamos soluções, estudamos novas linguagens de programação, utilizamos métodos, padrões, procedimentos, e, com tudo isso, enriquecemos nosso conhecimento. Porém, muitas vezes, esse conhecimento não é passado a outras pessoas, na maioria das vezes, por falta de oportunidade.

Pensando nisso, resolvi publicar esse blog, abordando diversos assuntos ligados direta ou indiretamente à TI, disseminando um pouco do conhecimento adquiri durante alguns anos de experiência.

Os assuntos dos posts serão variados. Na maioria das vezes, falarei sobre linguagens de programação, em especial C#, mas abordarei outros assuntos como padrões de projetos, engenharia de software, metodologias de desenvolvimento, desenvolvimento web e banco de dados. Alguns assuntos abordarei de maneira mais superficial, outros, detalharei praticamente ao ponto de "escovar bits".

Espero que gostem! Ótima leitura a todos!

Até mais!