Sep 30, 2022

Um pequeno puzzle sobre o C# 10

Lire cet post en Français.

Read this post in English.

Você desenvolve em C# no seu dia a dia? Tem acompanhado os últimos avanços desta linguagem, mais especificamente na versão 10? Gosta de desafios de programação ? 

Caso a resposta a uma ou mais das perguntas acima seja sim, você conseguiria, mudando apenas o tipo do parâmetro msg do método Foo(), fazer com que a saída do programa contenha apenas as linhas com números pares?

ou seja, fazer com que a saída do programa seja:

ao invés de:

As regras são:

  1. A única modificação válida no método Foo() é alterar o tipo do parâmetro msg.
  2. Você não pode modificar o corpo do programa, principalmente o laço for.
  3. Você não pode utilizar nenhuma técnica de IL post-processing.
  4. Qualquer outra alteração no código fonte é válida.

Seguem algumas considerações:

  1. A solução para o problema proposto envolve um recurso que foi aprimorado na versão 10 da linguagem.
  2. Observe bem o código acima; procure por elementos não essenciais; estes elementos contém pistas que podem ajudar.

Nos próximos posts eu vou apresentar e discutir a minha solução.

Divirta-se.

Adriano

No comments: