Olá pessoal, nesta quarta parte seguirei falando sobre as principais diferenças de sintaxe e API existentes entre o Delphi e C# para Windows Forms.
Operadores Lógicos
Antes de começarmos a falar das estruturas condicionais, vamos apresentar uma tabela com as diferenças dos operadores do Delphi e do C#.
Estruturas condicionais - IF
No Delphi nós temos o IF seguido da condição e posteriormente o THEN com a rotina a ser executada, conforme podemos ver na figura abaixo:
Figura 1 – IF no Delphi
No Delphi, quando temos apenas uma condição, não precisamos colocar parênteses, e no final da linha que antecede o else nós não devemos colocar ponto e vírgula (;);
Já no C# nós não temos o THEN, e a condição precisa obrigatoriamente estar entre parênteses, ficando assim:
Figura 2 – IF no C#
Além disso, mesmo as linhas que antecedem o else precisam ter ponto e vírgula no final.
OBS: Vale lembrar que caso tenhamos mais de uma linha de código para a rotina então devemos abrir um novo bloco, sendo no Delphi com BEGIN/END e no C# com {}.
Estruturas condicionais – Case/Switch
No Delphi temos o case como opção de estrutura condicional. No Delphi o case só pode ser usado para números inteiros.
Figura 3 – Case no Delphi
Além disso, caso nenhuma condição seja satisfeita, será executado o comando após o else.
No caso do C#, temos o switch onde temos um diferencial, onde podemos também trabalhar com strings em nossas condições.
Figura 4 – Case no C#
Uma outra diferença é que no caso do C# temos que colocar o break entre um case e outro. O break só não é necessário quando temos um case sem código, na verdade para expressar mais de uma condição para uma determinada rotina, como mostrado abaixo.
Figura 5 – Case no C#
No exemplo acima, a mensagem “2” será exibida caso o valor de i seja 1 ou 2. Para termos o mesmo resultado no Delphi, teríamos que separar os possíveis valores por virgula, conforme mostrado abaixo.
Figura 6 – Case no Delphi
É isso aí pessoal, fico por aqui com mais esta quick tip da série. Até a próxima.
Um Abraço.
Ricardo Coelho.