Една нестандартна проверка

Публикувано на

Преди време докато си правих курсовата работа по C# реших да направя нещо нетипично за този език, което взаимствах от езика Python (на който пиша в момента). Преди да покажа "великото си творение", да кажа как стигнах до него. В Python е много лесно да провериш дали даден обект се намира в даден списък, като списъка не е нужно да бъде присвоен на променлива, ако не ни трябва никъде другаде освен в проверката. Например:

if my_var in [1, 3, 15, 20, 40, 80]:
    # do something ...

Стандартно в C# трябва да се напише:

if ( (my_var == 1)
     || (my_var == 3)
     || (my_var == 15)
     || (my_var == 20)
     || (my_var == 40)
     || (my_var == 80))
{
  # Do something
}

Това е меко казано "грозно", а същевременно има голямо повторение на 'my_var' (с колкото стойности искаме да го сравним). Все пак може да взаимства идеята от Python, като създам нов масив и използвам метода Contains. Ето и как го реализирах:

if ((new int[] {1, 3, 15, 20, 40, 80}).Contains(my_var))
{
    # Do something
}

Доста по-прегледно нали?

blog comments powered by Disqus