LA.Net
Reflexões sobre C#, .Net e programação em geral

Bem, de facto o excerto apresentado na semana passada compila sem problema. Isto porque o termo get, ao contrário do que algumas pessoas pensam, não é um termo reservado da linguagem C#, apesar de no interior das propriedades assumirem um papel especial. Já agora, e apenas como observação suplementar, podemos utilizar termos reservados nos nomes das variáveis desde que esses termos sejam precedidos do @ (obviamente que isto não pode ser considerado boa prática, mas, como é permitido, resolvi colocar aqui este apontamento).

Em relação à questão do Paulo Morgado, não faço a minima porque até hoje não utilizei essa linguagem para fazer mais do que um protótipo simples. Então Paulo, qual a resposta?

Para este segundo item, vamos fazer um pequeno teste com as directivas de processamento (que presumo que não são muito utilizadas em C# - pelo menos não ouvi falar muito delas até hoje). Então, como este é o segundo item, vamos ter não uma, mas duas questões:

Qual o resultado do seguinte excerto:

Console.WriteLine( @"Ola,
#if Testing
   Mundo
#else
 Marte
#endif
");

Pergunta número 2: qual o resultado do seguinte excerto:

#if Testing
/*
#else
/**/ Console.WriteLine( "III" );
#endif

Fiquem bem, e até para a semana!

posted on Saturday, June 26, 2004 6:30 PM
Comments
  • # re: GOTW C# 2
    Pedro Santos
    Posted @ 6/26/2004 7:33 PM
    Eu por acaso uso muito as directivas, ou pelo menos usava quando não sabia distinguir entre a framwork da MS e o Mono em runtime. Tinha de ter uns ajustes desse tipo, definindo as constantes em tempo de compilação, o que não era uma solução muito boa...

    Pergunta 1) O output é:
    Ola,
    #if Testing
    Mundo
    #else
    Marte
    #endif

    Pergunta 2)
    Depende do Testing. Se estiver declarado, é "III", caso contrário não acontece nada. A minha maior dúvida aqui é se o '/*' dentro de um comentário faz o compilador queixar-se ou não, mas presumo que não.
  • # re: GOTW C# 2
    Paulo Morgado
    Posted @ 6/28/2004 9:50 PM
    No caso 2, não estarias antes a pensar em:

    #if Testing
    /*
    #else
    Console.WriteLine( "III" ); /**/
    #endif

    ???
  • # re: GOTW C# 2
    Luis Abreu
    Posted @ 6/28/2004 9:53 PM
    Olá Paulo. Por acaso não ;)
  • # re: GOTW C# 2
    Paulo Morgado
    Posted @ 6/30/2004 8:26 PM
    Mas esta variante também é interessante. Que tal o pessoal refeletir nesta também?
Title  
Name  
Url
Box Code
Protected by FormShield
Comments