Continuando a série onde falei sobre o operador ?? hoje vou mostrar o operador ?: que também gosto e utilizo muito.

A regra para esse operador é simples.

condição ? primeira expressão : segunda expressão;

Mas espera um pouco Márcio, isso parece um if/else feito em uma linha só. É isso mesmo :). Galera do VB vai lembra da função IIf.

Então vamos ver um código simples, onde escrevemos na tela se uma pessoa pode votar ou não dependendo da idade. Primeiro com if/else.

static void Main(string[] args)
{
    var idade = 26;

    if(idade >= 16)
        Console.WriteLine("Pode votar!");
    else
        Console.WriteLine("Não pode votar!");
}

Um código simples, mas eu prefiro escrever esse código utilizando o operador ?: que fica seguinte forma.

static void Main(string[] args)
{
    var idade = 26;

    Console.WriteLine(idade >= 16 ? "Pode votar!" : "Não pode votar!");
}

Esse é um operador um pouco polemico, algumas pessoas não gostam, acham que o código fica mais complexo, eu não concordo, mas é tema para uma boa discussão.

Abraços.

  • http://rafaelamorim.co.cc Rafael Amorim

    Realmente é meio polemico mesmo, grande maioria das pessoas consideram que ele dificulta a leitura…

    Acho bacana em algumas ocasiões…

    []‘s

    @faelAmorim

  • http://www.feliperaymundo.com.br Felipe Pedroti Raymundo

    Eu também acho polêmico, apesar que, para mim, acho que facilita muito a leitura de código e diminui o tempo de entendimento do código também, mais tem pessoas que coçam a orelha de um jeito, tem pessoas que coçam de outro.

  • http://- Fabio Rodrigues

    Agradecido pela explicação, estava a muito tempo querendo saber como trabalhar com este operador..
    :D

  • Oops Twitter isnt working at the moment