Há algum tempo atras, um amigo havia me perguntado como fazer algo equivalente em C# para a seguinte expressão em Delphi:
if 20 in [10, 20, 30, 40, 50] then ...
Nos meus blogs antigo, e na época reinava o C# 2.0, dentre algumas ideias a mais prática que havia encontrado e postado foi:
if(Array.IndexOf(new int[] { 10, 20, 30, 40, 50 }, numeroProcurado) != -1)
Confesso que ela nunca me agradou muito, apesar de ser extremamente flexível e servir para muitos outros propósitos, ou seja, não deixa de ser uma idea válida e util.
Ao revisar esta ideia, usei o poder do LINQ e eis uma solução satisfatória:
if (new[] { 1, 2, 3, 4, 5 }.Contains(4))
{
// ...
}
Agora sim! :D
Viva o C# + LINQ!
0 comentários:
Postar um comentário